fillist() {
//务必先将后端给的数据深拷贝一份,否则会改变原数组
let newArr = JSON.parse(JSON.stringify(this.searchArr))
//找出带有搜索关键词的数组
let filteredList = newArr.filter((item) => {
if (this.searchVal) {
return item.text.includes(this.searchVal)
}
})
//通过正则匹配将关键词放入html模板中,在页面上通过富文本的方式渲染
filteredList.forEach(item => {
const regex = new RegExp(this.searchVal, "gi");
item.text = item.text.replace(regex, '<span style="color: #1989FA">$&</span>');
})
return filteredList;
}
纯前端实现模糊搜索并且关键词变色
于 2024-05-13 17:49:29 首次发布