vue中关键字搜索时内容高亮

 1.template里

<span style="font-weight:bolder" v-html="scope.row.docName"></span> //标题
<span class="demo-summary" v-html="scope.row.summary"></span> //内容

2.methods里

 getList() { //查询
        this.listLoading = true;
        this.$axios.posts("/api/Doc/Query",this.listQuery)
          .then((response) => {
            this.totalCount = response.result.totalCount || 0;
            this.changeColor(response.result.items);   //重点是这里
            this.listLoading = false;
          });
      },

        changeColor(resultsList) {
          resultsList.map((item, index) => {
            if (this.listQuery.tQuery) {
              // 匹配关键字正则
              let replaceReg = new RegExp(this.listQuery.tQuery, 'g')
              // 高亮替换v-html值
              let replaceString = '<span style="color: red;">' + this.listQuery.tQuery + '</span>'
              // 开始替换
              if (resultsList[index].docName || resultsList[index].summary) {
                resultsList[index].docName= item.docName.replace(replaceReg, replaceString)
                resultsList[index].summary= item.summary.replace(replaceReg, replaceString)
              }
            }
          })
          this.list = resultsList;
      },

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值