需求:
通过搜索框搜索关键字,将搜索得到的结果里包含 “关键字” 的字实现 “高亮” 效果
此方法微信小程序也适应,template改一下就行
template:
<view v-for="(item,index) in listarr" :key='index'>
<view v-html="item.text"></view>
</view>
js:
//后台返回的数据进行循环处理
res.forEach(item=>{
item.text=this.brightKeyword(item.onebest)
})
//替换方法
brightKeyword(val) {
//this.keyword为输入框输入的内容
if (val.indexOf(this.keyword) !== -1) {
return val.replace(this.keyword, `<font style='color: red'>${this.keyword}</font>`);
} else {
return val;
}
},
效果:
上面代码里我把其余的样式删了,只留下来核心“关键字提亮”。