JS 实现关键字文本搜索 高亮显示

示例:

 

 

  •  利用字符串的 split 方法,通过搜索的关键字分割成数组

  •  在利用数组的 join 方法拼接成字符串

 我是利用mock的省份

 1 <template>
 2   <div class="home">
 3     <input type="text" v-model.trim="SerachValue">
 4     <button @click="serach">点击搜索</button>
 5     <ul>
 6       <li v-for="(item, index) in cityMEList" :key="index">
 7         <span v-html="item"></span>
 8       </li>
 9     </ul>
10   </div>
11 </template>
12 
13 <script>
14 import axios from 'axios'
15 export default {
16   components: {
17   },
18   data() {
19     return {
20       SerachValue: '',
21       cityMEList: []
22     };
23   },
24   created() {
25     
26   },
27   methods: {
28     serach() {
29       if(!this.SerachValue) {
30         return
31       }
32       this.cityMEList = []
33       axios.get("/cityMeunList").then(res => {
34       const { list } = res.data
35 
36       list.forEach(item => {
37         if(item.province.includes(this.SerachValue)) {
38           let data = JSON.parse(JSON.stringify(item))
39           let dataARr = data.province.split(this.SerachValue)       //字符串的方法先转成数组
40           let str = dataARr.join('<span style="color:red;">' + this.SerachValue + '</span>')   // 在转成字符串
41           this.cityMEList.push(str)
42         }
43       });
44       console.log(list)
45     })
46     }
47   }
48 }

 

posted @ 2020-12-29 18:01  顺·  阅读(1028)  评论(0编辑  收藏  举报