欧美日韩1234-岳两女共夫互换观看视频-日本不卡一区二区-gogogo高清国语完整-国产区在线-狠久久-男男互操视频-另类国产-欧美人与禽猛交乱配视频-欧美另类一区-久久成人在线视频-国产一级片av-青青草视频播放-欧美三级黄-日日射天天射-在线国产欧美-日韩永久-国产黄色成人-伊人三区-国产午夜精品理论片-999精彩视频-免费看av软件-欧美xxxx喷水-国产蜜臀-美女四肢被绑在床扒衣-日本公妇乱淫-99久久久国产精品无码性

027-81331413

微信小程序搜索功能實(shí)現(xiàn)

發(fā)布時(shí)間:2020-11-15 瀏覽:2686

 

  不管開發(fā)什么小程序,如果信息量達(dá)到一定數(shù)額時(shí),對(duì)具體一條或一類的信息查找需求就會(huì)變得越來(lái)越難。因此會(huì)對(duì)搜索進(jìn)行一定的需求,例如精準(zhǔn)或模糊搜索功能。本文將介紹微信小程序開發(fā)中搜索功能的實(shí)現(xiàn)步驟,以及搜索頁(yè)面的一些復(fù)用。

  對(duì)于搜索都是會(huì)有一些需要的,所以搜索頁(yè)面還是可以復(fù)用的。因?yàn)橹皇菍憘€(gè)搜索頁(yè)面,所以主頁(yè)面就沒(méi)有好好切,見諒。。。主頁(yè)面就是下面這樣:

  

微信小程序搜索功能實(shí)現(xiàn)

  這個(gè)頁(yè)面在pages/components/component2/component2.wxml

  點(diǎn)擊頁(yè)面中 黃色的input就可以跳轉(zhuǎn)到真正的搜索頁(yè)面:pages/components/component2/search/search.wxml

  搜索頁(yè)面中也是有個(gè)input搜索框,旁邊有個(gè)小叉號(hào),可以清除input里的文字。

  

微信小程序搜索功能實(shí)現(xiàn)

  下面主要講下search頁(yè)面的邏輯:其實(shí)也非常簡(jiǎn)單。

  搜索input綁定bindInput函數(shù),

  bindInput:function(e){

  this.setData({

  inputValue:e.detail.value

  })

  console.log(\'bindInput\'+this.data.inputValue)

  },

  將輸入的值存在inputValue中,搜索button 用bindtap綁定setSearchStorage函數(shù)

  setSearchStorage:function(){

  let data;

  let localStorageValue = [];

  if(this.data.inputValue != \'\'){

  //調(diào)用API從本地緩存中獲取數(shù)據(jù)

  var searchData = wx.getStorageSync(\'searchData\') || []

  searchData.push(this.data.inputValue)

  wx.setStorageSync(\'searchData\', searchData)

  wx.navigateTo({

  url: \'../result/result\'

  })

  }else{

  console.log(\'空白的你搜個(gè)蛋!\')

  }

  // this.onLoad();

  },

  這個(gè)函數(shù)主要就是先判斷輸入的值是否不為空,再通過(guò)getStorageSync獲取到key為searchData的localStorage,

  如果第一次還沒(méi)有set過(guò)這個(gè)key就獲取[],再將用戶inputValue存的想要搜索的值放進(jìn)searchData,之后再跳轉(zhuǎn)到result頁(yè)面。這里我只放了個(gè)案例頁(yè)面。

  如果在真正的生產(chǎn)環(huán)境中,這個(gè)函數(shù)可以通過(guò)wx.request向服務(wù)器發(fā)送請(qǐng)求,再把數(shù)據(jù)放進(jìn)result頁(yè)面中,實(shí)現(xiàn)真正的搜索功能。

  

微信小程序搜索功能實(shí)現(xiàn)

  刪除inputValue的button功能實(shí)現(xiàn)也很簡(jiǎn)單,setData將inputValue設(shè)置為空字符串就可以了。

  放點(diǎn)擊result頁(yè)面左上角的返回時(shí),你就可以發(fā)現(xiàn),你剛才搜索的結(jié)果已經(jīng)放到了search的頁(yè)面中。

  當(dāng)你想要?jiǎng)h除緩存數(shù)據(jù)的時(shí)候,可以點(diǎn)擊清空瀏覽記錄按鈕,會(huì)彈出個(gè)對(duì)話框:

  

微信小程序搜索功能實(shí)現(xiàn)

  點(diǎn)擊確認(rèn)刪除之后,會(huì)自動(dòng)刷新頁(yè)面(重定向到本頁(yè)面),將之前的key為searchData的localStorage重置為空數(shù)組。

  modalChangeConfirm:function(){

  wx.setStorageSync(\'searchData\',[])

  this.setData({

  modalHidden:true

  })

  wx.redirectTo({

  url: \'../search/search\'

  })

  },

  這里的清除不是應(yīng)用wx.clearStorage()刪除的,以為clearStorage會(huì)將所有的localStorage都刪掉,慎用!這樣,搜索的功能就做好了!