Vue如何动态改变列表搜索出关键词的字体颜色

 更新时间:2023年10月11日 11:00:23   作者:Vue安夏  
这篇文章主要介绍了Vue如何动态改变列表搜索出关键词的字体颜色问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教

vue动态改变列表搜索出关键词的字体颜色

这里需求是将keyword的文字内容更改颜色,突显出来

 brightKeyword(val) {
        let keyword = this.$route.params.keyWord?this.$route.params.keyWord:'';
        keyword = keyword.trim();
        if (keyword && keyword.length > 0) {
          if (keyword == val) {
            return '<span style="color: #007cbb;">' + val + "</span>";
          }
          keyword = keyword.replaceAll(" ", "|");
          let reg = new RegExp(keyword, "ig");
          return val.replace(reg, (match) => {
            return '<span style="color: #007cbb;">' + match + "</span>";
          });
        }
    },

vue中搜索出来的关键字标红

<view class="bigbox" v-for="(item,index) in list" :key="index" @click="checkd(item)">
    <view :class="currents==item.jobId ?'boxsd':'boxs'" v-if="item.contain == true">
		<span>{{item.start}}</span>
		<span class="intro">{{item.middle}}</span>
		<span>{{item.end}}</span>
	</view>
	<view :class="currents==item.jobId ?'boxsd':'boxs'" v-else>
		{{item.jobName}}
	</view>
</view>

列表遍历

this.list.map((item, index) => {
this.signKeyword(item.jobName, index)
})

标红的方法

// 搜索的值标红
signKeyword(val, index) {
	let keyword = this.queryParam.jobName //搜索的值
	if (val.indexOf(keyword) !== -1) {
		// 包含字符前面的下标
		let pre = val.indexOf(keyword)
		// 包含字符的长度
		let end = keyword.length
		this.list[index].contain = true
		// 截取之前的字符
		this.list[index].start = val.slice(0, pre)
		// 中间包含
		this.list[index].middle = keyword
		// 截取之后的字符(包含字符前面的下标+包含字符的长度 = 包含字符之后的下标)
		this.list[index].end = val.substr(pre + end)
	} else {
		this.list[index].contain = false
	}
},

标红css

.intro {
color: red;
}

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • 解决VantUI popup 弹窗不弹出或无蒙层的问题

    解决VantUI popup 弹窗不弹出或无蒙层的问题

    这篇文章主要介绍了解决VantUI popup 弹窗不弹出或无蒙层的问题。具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-11-11
  • Vue数据驱动表单渲染,轻松搞定form表单

    Vue数据驱动表单渲染,轻松搞定form表单

    这篇文章主要介绍了Vue数据驱动表单渲染,轻松搞定form表单,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2019-07-07
  • Vue-路由导航菜单栏的高亮设置方法

    Vue-路由导航菜单栏的高亮设置方法

    下面小编就为大家分享一篇Vue-路由导航菜单栏的高亮设置方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-03-03
  • Vue中使用provide和inject实例对比分析

    Vue中使用provide和inject实例对比分析

    这篇文章主要为大家介绍了Vue中使用provide和inject实例对比分析,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-08-08
  • 封装Vue Element的table表格组件的示例详解

    封装Vue Element的table表格组件的示例详解

    这篇文章主要介绍了封装Vue Element的table表格组件的方法,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧
    2020-08-08
  • vue解决使用webpack打包后keep-alive不生效的方法

    vue解决使用webpack打包后keep-alive不生效的方法

    今天小编就为大家分享一篇vue解决使用webpack打包后keep-alive不生效的方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-09-09
  • vue组件实现可搜索下拉框扩展

    vue组件实现可搜索下拉框扩展

    这篇文章主要为大家详细介绍了vue组件实现可搜索下拉框的方法,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-06-06
  • uniapp 小程序和app map地图上显示多个酷炫动态的标点效果(头像后端传过来)

    uniapp 小程序和app map地图上显示多个酷炫动态的标点效果(头像后端传过来)

    这篇文章主要介绍了uniapp 小程序和app map地图上显示多个酷炫动态的标点效果(头像后端传过来),本文通过示例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2023-09-09
  • 详解如何使用Vue实现图像识别和人脸对比

    详解如何使用Vue实现图像识别和人脸对比

    随着人工智能的发展,图像识别和人脸识别技术已经被广泛应用于各种应用程序中,Vue为我们提供了许多实用工具和库,可以帮助我们在应用程序中进行图像识别和人脸识别,在本文中,我们将介绍如何使用Vue进行图像识别和人脸对比,需要的朋友可以参考下
    2023-06-06
  • Vue调试工具vue-devtools的安装与使用

    Vue调试工具vue-devtools的安装与使用

    vue-devtools是专门调试vue项目的调试工具,安装成功之后,右边会出现一个vue,就可以在线可以调试vue了,下面这篇文章主要给大家介绍了关于Vue调试工具vue-devtools的安装与使用的相关资料,需要的朋友可以参考下
    2022-07-07

最新评论