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

总结

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

相关文章

  • 使用vue-cli3 创建vue项目并配置VS Code 自动代码格式化 vue语法高亮问题

    使用vue-cli3 创建vue项目并配置VS Code 自动代码格式化 vue语法高亮问题

    这篇文章主要介绍了使用vue-cli3 创建vue项目,并配置VS Code 自动代码格式化 vue语法高亮问题,本文给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下
    2019-05-05
  • Vuejs从数组中删除元素的示例代码

    Vuejs从数组中删除元素的示例代码

    这篇文章主要介绍了Vuejs从数组中删除元素的示例代码,本文结合实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2023-02-02
  • Vue实现剪切板图片压缩功能

    Vue实现剪切板图片压缩功能

    这篇文章主要介绍了Vue实现剪切板图片压缩功能,本文通过实例代码给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-02-02
  • element-ui tooltip修改背景颜色和箭头颜色的实现

    element-ui tooltip修改背景颜色和箭头颜色的实现

    这篇文章主要介绍了element-ui tooltip修改背景颜色和箭头颜色的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-12-12
  • vue+高德地图写地图选址组件的方法

    vue+高德地图写地图选址组件的方法

    这篇文章主要介绍了vue+高德地图写地图选址组件的方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-05-05
  • vue如何通过点击事件弹出弹窗页面详解

    vue如何通过点击事件弹出弹窗页面详解

    弹窗是我们开发中经常遇到的一个功能,下面这篇文章主要给大家介绍了关于vue如何通过点击事件弹出弹窗页面的相关资料,文中通过实例代码介绍的非常详细,需要的朋友可以参考下
    2022-06-06
  • Vue模仿ElementUI的form表单实例代码

    Vue模仿ElementUI的form表单实例代码

    这篇文章主要给大家介绍了关于Vue模仿ElementUI的form表单的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2021-03-03
  • Vue Router应用方法详解

    Vue Router应用方法详解

    在看这篇文章的几点要求:需要你先知道Vue-Router是个什么东西,用来解决什么问题,以及它的基本使用。如果你还不懂的话,建议上官网了解下Vue-Router的基本使用后再回来看这篇文章
    2022-09-09
  • VuePress使用Algolia实现全文搜索

    VuePress使用Algolia实现全文搜索

    这篇文章主要为大家介绍了VuePress使用Algolia实现全文搜索示例详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-07-07
  • vue实现折线图 可按时间查询

    vue实现折线图 可按时间查询

    这篇文章主要为大家详细介绍了vue实现折线图,可按时间查询,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2020-08-08

最新评论