先看效果图:

直接上代码:

view片段:

<view class="text" @click="gsClick(item,index)" v-for="(item,index) in searchList" :key="index">
		<rich-text :nodes="item.companyName"></rich-text>	
</view>

input事件:

inputs是存储关键词内容的字段

//搜索框内容改变事件
inputtext(e) {
	console.log(e);
	if (e != '') {
	// this.list(e)
	this.inputs = e.value;
	}
},

在methods里封装的方法:

//关键词高亮
brightKeyword(val,keyword) {
	if (val.indexOf(keyword) !== -1) {
		return val.replace(keyword, `<font style='color: #24BAD1'>${keyword}</font>`);
	} else {
		return val;
	}
},

实战用法:

//data为请求接口拿到的公司列表数据
//this.inputs为搜索框里的关键词内容
let data = res.data.data
data.forEach(v=>{
	this.searchList.push({
		companyName: this.brightKeyword(v.companyName,this.inputs),
		companyNameF: v.companyName
	});
})

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐