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;
}

总结

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

相关文章

  • electron+vue实现div contenteditable截图功能

    electron+vue实现div contenteditable截图功能

    这篇文章主要介绍了electron+vue实现div contenteditable截图功能,本文给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-01-01
  • vue之字符串、数组之间的相互转换方式

    vue之字符串、数组之间的相互转换方式

    这篇文章主要介绍了vue之字符串、数组之间的相互转换方式,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-07-07
  • vuecli3.x中轻松4步带你使用tinymce的步骤

    vuecli3.x中轻松4步带你使用tinymce的步骤

    这篇文章主要介绍了vuecli3.x中轻松4步带你使用tinymce的步骤,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-06-06
  • Vue3中导航守卫结合Axios实现token认证机制

    Vue3中导航守卫结合Axios实现token认证机制

    本文主要介绍了Vue3中导航守卫结合Axios实现token认证机制,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2025-01-01
  • Vite的createServer启动源码解析

    Vite的createServer启动源码解析

    这篇文章主要为大家介绍了Vite的createServer启动源码解析,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-09-09
  • 配置一个vue3.0项目的完整步骤

    配置一个vue3.0项目的完整步骤

    这篇文章主要介绍了配置一个vue3.0项目的完整步骤,从0开始配置一个vue项目,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2019-04-04
  • Vue中v-form标签里的:rules作用及定义方法

    Vue中v-form标签里的:rules作用及定义方法

    文章介绍了在Vue项目中使用ElementUI或ElementPlus组件库时,如何通过`el-form`标签的`:rules`属性进行表单验证,`:rules`属性用于定义表单项的验证规则,包括必填项、格式校验、长度限制等,文章还展示了如何定义基本验证规则和自定义验证函数,感兴趣的朋友一起看看吧
    2025-03-03
  • 在Vue中使用Viser说明(基于AntV-G2可视化引擎)

    在Vue中使用Viser说明(基于AntV-G2可视化引擎)

    这篇文章主要介绍了在Vue中使用Viser说明(基于AntV-G2可视化引擎),具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-10-10
  • Vue3中Vuex状态管理学习实战示例详解

    Vue3中Vuex状态管理学习实战示例详解

    这篇文章主要为大家介绍了Vue3中Vuex状态管理学习实战示例详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-06-06
  • vue实现在线学生录入系统

    vue实现在线学生录入系统

    这篇文章主要为大家详细介绍了vue实现在线学生录入系统,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2020-05-05

最新评论