欧洲变态另类zozo,欧美xxxx做受欧美gaybdsm,欧洲熟妇色xxxx欧美老妇软件,免费人成视频xvideos入口 ,欧美.日韩.国产.中文字幕

歡迎光臨本站
我們一直在努力

微信小程序開發(fā)中怎樣實(shí)現(xiàn)搜索內(nèi)容高亮功能

這次給大家?guī)砦⑿判〕绦蜷_發(fā)中怎樣實(shí)現(xiàn)搜索內(nèi)容高亮功能,微信小程序開發(fā)中怎樣實(shí)現(xiàn)搜索內(nèi)容高亮功能的注意事項(xiàng)有哪些,下面就是實(shí)戰(zhàn)案例,一起來看一下。

需求

最近在做微信小程序的時(shí)候,需要實(shí)現(xiàn)在搜索框的輸入內(nèi)容的時(shí)候?qū)崿F(xiàn)全局匹配實(shí)現(xiàn)高亮效果,目前的思路是,遞歸后臺(tái)來返回的數(shù)據(jù),并將對(duì)象的value值替換為需要的dom節(jié)點(diǎn),并且通過rich-text來實(shí)現(xiàn),高亮效果。

代碼

wxml:

<view>
  <input>
  <view>
    <rich-text></rich-text>  
    <rich-text></rich-text>  
    <rich-text></rich-text>
    <view>
      <rich-text></rich-text>  
    </view>
  </view></view>
登錄后復(fù)制

js:

//index.js
const app = getApp()
Page({
  data: {
    json: [{ name: 'eiolewkfp', age: 'awdqwwdk', address: 'aueifwhefwfheffoewjowef',aihao:['sdsd','sdfsd','sdsf']}, { name: '98797', age: '6544656', address: '65494364' }], // 可以是任何類型的數(shù)據(jù)
    newJson: '',
    tempText:''
  },
  onLoad: function (options) {
    this.setData({
      newJson:this.data.json
    })
  },
  digui: function (newJson,obj,key) { // 遞歸方法,來遍歷最內(nèi)層的字符串并通過正則來替換
    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>" + 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>" + that.data.tempText + "</span>")
      }
    }
  },
  bindKeyInput: function (e) { // 每次輸入來監(jiān)聽鍵盤,處理匹配的數(shù)據(jù)
    var text = e.detail.value;
    this.setData({
      tempText:text
    })
    var newJson = JSON.parse(JSON.stringify(this.data.json)); // 實(shí)現(xiàn)深復(fù)制
    
    this.digui(newJson);
    this.setData({
      newJson:newJson
    })
  }
})
登錄后復(fù)制

相信看了本文案例你已經(jīng)掌握了方法,更多精彩請(qǐng)關(guān)注有卡有網(wǎng)。

版權(quán)聲明:本文采用知識(shí)共享 署名4.0國(guó)際許可協(xié)議 [BY-NC-SA] 進(jìn)行授權(quán)
文章名稱:《微信小程序開發(fā)中怎樣實(shí)現(xiàn)搜索內(nèi)容高亮功能》
文章鏈接:http://www.ljxxtl.cn/kaquan-baike/xcx/154405.html
本站資源僅供個(gè)人學(xué)習(xí)交流,請(qǐng)于下載后24小時(shí)內(nèi)刪除,不允許用于商業(yè)用途,否則法律問題自行承擔(dān)。