麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 編程 > JavaScript > 正文

微信小程序實現全局搜索代碼高亮的示例

2019-11-19 14:05:06
字體:
來源:轉載
供稿:網友

需求

最近在做微信小程序的時候,需要實現在搜索框的輸入內容的時候實現全局匹配實現高亮效果,目前的思路是,遞歸后臺來返回的數據,并將對象的value值替換為需要的dom節點,并且通過rich-text來實現,高亮效果。

代碼

wxml:

<view class='homePage'>  <input bindinput="bindKeyInput"></input>  <view wx:for="{{newJson}}" wx:for-item='item' wx:key>    <rich-text nodes="{{item.name}}"></rich-text>      <rich-text nodes="{{item.address}}"></rich-text>      <rich-text nodes="{{item.age}}"></rich-text>    <view wx:if="{{item.aihao}}" wx:for="{{item.aihao}}" wx:for-item='sitem' wx:key>      <rich-text nodes="{{sitem}}"></rich-text>      </view>  </view></view>

js:

//index.jsconst app = getApp()Page({  data: {    json: [{ name: 'eiolewkfp', age: 'awdqwwdk', address: 'aueifwhefwfheffoewjowef',aihao:['sdsd','sdfsd','sdsf']}, { name: '98797', age: '6544656', address: '65494364' }], // 可以是任何類型的數據    newJson: '',    tempText:''  },  onLoad: function (options) {    this.setData({      newJson:this.data.json    })  },  digui: function (newJson,obj,key) { // 遞歸方法,來遍歷最內層的字符串并通過正則來替換    var that = this;    var reg = new RegExp(that.data.tempText,'g');    if (newJson.constructor == Array) {       newJson.forEach(function (item,index) {        if (item.constructor == String){          obj[key].splice(index, 1, item.replace(reg, "<span style='color:red'>" + that.data.tempText + "</span>"))        }else{          that.digui(item, newJson);        }      });    } else if (newJson.constructor == Object) {      var json = {};      for (var key in newJson) {        json[key] = newJson;        that.digui(newJson[key],newJson,key);      }    } else if (newJson.constructor == String) { // 這里做全局替換      if(key){        obj[key] = newJson.replace(reg, "<span style='color:red'>" + that.data.tempText + "</span>")      }    }  },  bindKeyInput: function (e) { // 每次輸入來監聽鍵盤,處理匹配的數據    var text = e.detail.value;    this.setData({      tempText:text    })    var newJson = JSON.parse(JSON.stringify(this.data.json)); // 實現深復制        this.digui(newJson);    this.setData({      newJson:newJson    })  }})

源代碼地址

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持武林網。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 久草在线网址 | 久久久久久久免费看 | xxxx hd video 69| www.91sese| 一级黄色大片在线观看 | 日本精品免费观看 | 欧美不卡视频在线观看 | 久久久久一本一区二区青青蜜月 | 奇米888一区二区三区 | 蜜桃传媒视频麻豆第一区免费观看 | 久久免费视频3 | 欧美无限资源 | av电影院在线观看 | 国产成人自拍视频在线观看 | 精品中文字幕视频 | 春光影院理论片 | 国产91丝袜在线播放 | 日韩精品网站在线观看 | 久久久久成人免费 | 亚洲精品欧美二区三区中文字幕 | 成人免费一区二区 | 91精选视频在线观看 | av在线日韩 | 国产精品九九久久一区hh | 国产精品午夜未成人免费观看 | 黄色片网页| 色网站在线免费观看 | 成人视屏免费看 | 男男啪羞羞视频网站 | 最近日本电影hd免费观看 | av电影观看 | 久久精品在线免费观看 | 久久久久夜色精品国产老牛91 | 久久精品国产99国产精品亚洲 | 亚洲网站免费看 | 永久在线观看电影 | 精品久久久久久久久久久久 | 久久久久久久久久网 | 极品销魂一区二区三区 | 日韩在线播放第一页 | 国产精品观看在线亚洲人成网 |