搜索关键字并让关键字高亮,主要是将input搜索框绑定数据,然后传给后端,调用接口获得搜索到的列表,然后将得到的列表中的关键字做一个替换
效果图:

搜索框部分代码:
<div class="search">
<div class="search-input">
<el-input placeholder="" v-model="sinput" @change="search" clearable/>
</div>
<div class="search-button">
<el-button @queryTable="getList">查询</el-button>
</div>
</div>
搜索列表部分
<el-col>
<div>
搜索结果
</div>
<el-form
:model="queryParams"
v-for="(item,index) in form"
:key="index"
ref="form"
:inline="true"
v-show="showSearch"
label-width="100px"
>
<div>
<div>
<span v-html="brightenKeyword(item.title, sinput)"></span>
</div>
<div>
<span v-html="brightenKeyword(item.content, sinput)"></span>
</div>
</div>
</el-form>
</el-col>
js部分代码:
data: {
return {
sinput: '',
form: {}
}
},
method:{
search() {
if(this.sinput == '') {
this.showSearch = false
}else{
this.showSearch = true
//此处将输入搜索框的数据赋值给传给接口的参数
this.queryParams.likeTitleOrContent = this.sinput;
//此处为调用接口数据 将得到的数据列表赋值给form
listOperatingInstructions(this.queryParams).then(response => {
this.form = response.rows;
this.loading = false;
}
);
}
},
}