美文网首页
小程序关键词高亮

小程序关键词高亮

作者: 一枚小菜 | 来源:发表于2021-05-24 10:44 被阅读0次
    效果
        <view wx:for="{{recommend}}" class="sou_item">
          <rich-text nodes="{{item.name}}"></rich-text>
        </view>
    
         let recommend=res.data;
            recommend.map((item) =>{
              item.name = item.name.replace(this.data.keycode,//替换输入框的内容
                `<span style="color:#005BC7;">${this.data.keycode}</span>`)//模板字符串使用span标签设置高亮颜色
            })
            this.setData({
              recommend: recommend//替换后的内容赋值
            })
    

    昨天做完这个发现高亮只会跟随输入的关键词变化,而不会区分大小写,于是找了一下别人的写法,发现对rich-text标签的使用非常少,特此再用这个实现不区分大小写高亮
    item.name改成item

     <view wx:for="{{recommend}}" class="sou_item" catchtap="search">
          <rich-text nodes="{{item}}"></rich-text>
        </view>
    
      recommend.map((item) => {
              arr.push(this.heightLight(item.name,that.data.keycode))
            })
            that.setData({
              "recommend": arr
            })
      heightLight: function (s, v) {
        var reg = new RegExp(v, "gi");//全局大小写不敏感匹配正则
        s= s.replace(reg, function (r) {
          return "<p  class='p_color'>" + r + "</p>";
        })
        return s;
      },
    

    加样式

    .sou_item .p_color {
      color: #005BC7;
      display: inline;
    }
    
    效果

    相关文章

      网友评论

          本文标题:小程序关键词高亮

          本文链接:https://www.haomeiwen.com/subject/ghpqsltx.html