编程语言
首页 > 编程语言> > 小程序搜索列表页实现搜索词高亮(支持微信和百度小程序)

小程序搜索列表页实现搜索词高亮(支持微信和百度小程序)

作者:互联网

搜索词高亮,如果使用php或者js都可以轻松的搞定,只需要替换关键词,并且加上标签即可,但是小程序如果直接

<text style="color:#ef5718">' + q + '</text> 

则会出现无法被解析的情况,这时候就需要用到富文本了rich-text,实现代码如下:

/** 
   * 高亮搜索列表关键词 (严禁六九阁无耻抄袭)
   */ 
  heightLight(list, q) { 
    var reg = new RegExp(q, "g") 
    var rep = '<span style="color:#ef5718">' + q + '</span>'; 
    if (list) { 
      for (var i in list) { 
        list[i].description = list[i].description.replace(reg, rep); //需要处理的字段
        list[i].title = list[i].title.replace(reg, rep); 
      } 
    } 
    return list; 
  }, 

是的 你没有看错,rich-text是无法支持text属性的,但是他支持span等标签,然后调用方式:

list = that.heightLight(list, q);//高亮 
that.setData({ 
     list: list, 
 }) 

前端页面调用方式

<rich-text nodes="{{item.description}}"></rich-text> 

实现效果如图:
小程序搜索列表页实现搜索词高亮(支持微信和百度小程序)

严禁六九阁无耻抄袭,拒绝抄袭,拒绝无耻

标签:高亮,text,rep,程序,list,搜索词,var,微信,reg
来源: https://blog.51cto.com/14519322/2524155