最近2018中文字幕在日韩欧美国产成人片_国产日韩精品一区二区在线_在线观看成年美女黄网色视频_国产精品一区三区五区_国产精彩刺激乱对白_看黄色黄大色黄片免费_人人超碰自拍cao_国产高清av在线_亚洲精品电影av_日韩美女尤物视频网站

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
怎么在微信小程序中實(shí)現(xiàn)一個搜索功能

這篇文章給大家介紹怎么在微信小程序中實(shí)現(xiàn)一個搜索功能,內(nèi)容非常詳細(xì),感興趣的小伙伴們可以參考借鑒,希望對大家能有所幫助。

你所需要的網(wǎng)站建設(shè)服務(wù),我們均能行業(yè)靠前的水平為你提供.標(biāo)準(zhǔn)是產(chǎn)品質(zhì)量的保證,主要從事成都網(wǎng)站設(shè)計、成都網(wǎng)站制作、企業(yè)網(wǎng)站建設(shè)、手機(jī)網(wǎng)站開發(fā)、網(wǎng)頁設(shè)計、高端網(wǎng)站設(shè)計、網(wǎng)頁制作、做網(wǎng)站、建網(wǎng)站。創(chuàng)新互聯(lián)建站擁有實(shí)力堅強(qiáng)的技術(shù)研發(fā)團(tuán)隊及素養(yǎng)的視覺設(shè)計專才。

在頁面search.wxml中,定義一個input輸入框以及搜索的點(diǎn)擊按鈕,分別為它們綁定點(diǎn)擊事件handleInputChange()handleSearch()的事件,同時在它們的下面定義搜索的列表,代碼如下所示:


 
 搜索



 
 {{ item }}
 {{ item.message }}
 

在邏輯文件search.js中,在data中存放list的數(shù)據(jù),為空數(shù)組,存放搜索列表的數(shù)據(jù),同時定義staticData,在里面定義inputValue,里面為空字符串,是input輸入框的值,代碼如下所示:

data: {
 list: []
},
staticData: {
 inputValue: ""
}

在search.js的onLoad()生命周期函數(shù)中,調(diào)用請求數(shù)據(jù)的函數(shù)getSearchResult(),這樣在一進(jìn)入頁面的時候就會獲取到所有的數(shù)據(jù),不過由于并沒有關(guān)鍵字keyword,需要傳空字符串,代碼如下所示:

onLoad() {
 this.getSearchResult("");
 },
getSearchResult(keyword) {
 wx.request({
  url: 'xxxxxx',
  data: {
  keyword: this.staticData.inputValue
  },
  method: "POST",
  header: {
  'content-type': 'application/x-www-form-urlencoded' 
  },
  success: this.getSearchResultSucc.bind(this)
 })
},

在search.js中,定義一個響應(yīng)成功后的函數(shù)getSearchResultSucc(),判斷響應(yīng)的數(shù)據(jù)是否存在。如果存在通過this.setData()方法將響應(yīng)后的數(shù)據(jù)賦值給list,如果不存在,list仍然為空數(shù)組,代碼如下所示:

getSearchResultSucc(res) {
 // console.log(res)
 if (res.data.ret) {
  const result = res.data.data;
  this.setData({
  list: result
  })
 } else {
  this.setData({
  list: []
  })
 }
}

在search.js中,定義handleInputChange()函數(shù),這個函數(shù)也是input輸入框綁定的函數(shù),傳入事件對象e,然后通過e.detail.value賦值給staticData的inputValue,代碼如下所示:

handleInputChange(e) {
 this.staticData.inputValue = e.detail.value;
}

在search.js中,定義handleSearch()函數(shù),這個函數(shù)也是之前搜索按鈕所綁定的函數(shù),在這個里面重新發(fā)起一次請求,攜帶keyword關(guān)鍵字發(fā)起請求,代碼如下所示:

handleSearch (keyword) {
 this.getSearchResult(keyword)
}

如果想要點(diǎn)擊在搜索以后顯示的列表,可以在列表中綁定handleItemTap()事件,傳入事件對象e,通過 e.currentTaret.id去獲取到點(diǎn)擊的id,然后再通過 wx.navigateTo()方法跳轉(zhuǎn)到相應(yīng)的詳情頁,代碼如下所示:

handleItemTap(e) {
 wx.navigateTo({
  url: '/pages/detail/detail?id=' + e.currentTaret.id
 })
}

知識點(diǎn)補(bǔ)充:微信小程序云開發(fā)模糊查找功能實(shí)現(xiàn)

//連接數(shù)據(jù)庫
const db = wx.cloud.database()
var that = this
db.collection(‘newsname').where({
//使用正則查詢,實(shí)現(xiàn)對搜索的模糊查詢
_name: db.RegExp({
regexp: value,
//從搜索欄中獲取的value作為規(guī)則進(jìn)行匹配。
options: ‘i',
//大小寫不區(qū)分
})
}).get({
success: res => {
console.log(res)
that.setData({
search_list: res.data
})
}
})

關(guān)于怎么在微信小程序中實(shí)現(xiàn)一個搜索功能就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,可以學(xué)到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。


網(wǎng)站題目:怎么在微信小程序中實(shí)現(xiàn)一個搜索功能
分享網(wǎng)址:http://fisionsoft.com.cn/article/jpgphs.html