vue 搜索关键字高亮

文章介绍了如何在Vue.js应用中创建一个函数`heightLight`,该函数使用正则表达式对传入的字符串进行关键词高亮。在获取搜索结果后,遍历数据列表并应用高亮函数,最后将处理后的数据渲染到表格中,以`el-table`组件展示带有高亮的客户名称。
摘要由CSDN通过智能技术生成

 

1 封装关键字高亮

//str 要传入的字符串  key 代表要高亮的字符串
export const heightLight = (str, key) => {
	const reg = new RegExp(key, 'ig')
	return str.replaceAll(reg, (val) => {
		return `<span style="color:#DE4332 !important;">${val}</span>`
	})
}

2 使用

import { heightLight } from "@/libs/util";



  methods: {
    getSearch() {
      getData({
        url: "/customer/duplicate",
        data: {
          search_word: this.search_word,
        },
      }).then((res) => {
        const {
          code,
          data: { list },
        } = res;
        if (code === 200) {
         var f_list = list.data ;//接口返回的数据  
            // 统一处理
         f_list.map(item => {
           return item.company = heightLight(item.company, this.search_word);
          })
      //  赋值
          this.tableData = f_list;
        }
      });
    },
}

3 页面显示

          <el-table :data="tableData" style="width: 100%" :header-row-style="{ color: '#464C5B', 'font-size': '14px' }"
            :cell-style="{ color: '#203360', 'font-size': '14px' }" height="400px">
            <el-table-column prop="company" label="客户名称" width="180">
              <template slot-scope="scope">
                <div v-html="scope.row.company">
                </div>
              </template>
            </el-table-column>
 </el-table>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值