亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 課堂 > 小程序 > 正文

微信小程序首頁的分類功能和搜索功能的實現思路及代碼詳解

2020-03-21 16:10:47
字體:
來源:轉載
供稿:網友

就在昨天,微信宣布了微信小程序開發者工具新增“云開發”功能

下載最新的開發者工具,現在無需服務器即可實現小程序的快速迭代!

分類功能和搜素功能的效果圖

微信小程序,分類

1.首頁分類功能的實現

boxtwo方法(.js文件)

boxtwo: function (e) {  var index = parseInt(e.currentTarget.dataset.index)  this.setData({   HomeIndex: index  }) },

當在首頁點擊 分類導航時,會觸發這個方法,并傳回當前點擊時的index值。

這個方法實現的是將.wxml文件傳來的index值賦給HomeIndex。

class="boxtwo-tab-nav {{HomeIndex == 0 ?'on':''}}"

.wxss樣式文件

.boxtwo-tab-nav{display: inline-block;width: 20%;height: 90rpx;line-height: 90rpx;border-bottom: 1rpx solid #ededed;box-sizing: border-box;text-align: center;color: black;font-size: 30rpx}

這樣就實現了首頁 當前點擊的分類 呈現出 被選中的樣式。

然后在視圖層根據HomeIndex的不同,加載對應的數據。

<view wx:if="{{HomeIndex == 1}}" >  <block wx:for="{{shareList}}" wx:key="*this"> <navigator url='../../pages/shareDetail/shareDetail?id={{item.id}}' hover-class="navigator-hover">   <view class='imgs'>    <image src="{{item.img}}" background-size="cover" mode="scaleToFill"></image>   </view>   <view class='infos'>    <view class="title">{{item.title}}</view>    <view class="date">{{item.cTime}}</view>   </view>  </navigator></block> </view>

<navigator></navigator>組件實現的是點擊當前文章時傳出id到詳情頁面(detail)。這樣就把首頁的文章列表和文章的詳情頁面一一對應起來了。

detail.js文件

onLoad: function (options) {  var that = this  wx.request({   url: 'http://localhost:81/weicms/index.php?s=/addon/School/School/getDetail',   data: {id:options.id},   header: {    'content-type': 'application/json'   },   success: function (res) {    wx.setStorage({     key: 'info',     data: res.data,    })    that.setData({     info: res.data    })   }  })  }

2.搜索功能的實現

.wxml文件

<view class='search-view'>  <input class='input' confirm-type="search" maxlength="30" bindinput='wxSearchInput' value='{{keyword}}' bindconfirm='wxSearchFn' bindfocus="wxSerchFocus" bindblur="wxSearchBlur" placeholder='請輸入搜索內容'></input>  <button class='search' bindtap="wxSearchFn" hover-class='button-hover'>搜索</button></view>

JavaScript indexOf() 方法

   indexOf() 方法可返回某個指定的字符串值在字符串中首次出現的位置。

key為搜索的關鍵字,res.data[i].title為首頁列表的標題。使用indexOf()方法時,當滿足了(res.data[i].title.indexOf(key) >= 0)說明說明輸入的關鍵字在文章列表中

也有相同的關鍵字,然后arr.push(res.data[i]),這樣就把篩選出來的文章放在了臨時數組arr中了

//搜索方法 key為用戶輸入的查詢字段 search: function (key) {  /*console.log('搜索函數觸發')*/  var that = this;  var newsList = wx.getStorage({   key: 'newsList',   success: function (res) {//從storage中取出存儲的數據*/   /*console.log(res)*/    if (key == '') {//用戶沒有輸入 全部顯示     that.setData({      newsList: res.data     })     return;    }    var arr = [];//臨時數組 用于存放匹配到的數據    for (let i in res.data) {     if (res.data[i].title.indexOf(key) >= 0) {//查找      arr.push(res.data[i])     }    }    if (arr.length == 0) {     that.setData({      newsList:[]     })    } else {     that.setData({      newsList: arr//在頁面顯示找到的數據     })    }   }  })  }//搜素時觸發,調用search: function (key),傳入輸入的e.detail.value值wxSearchInput: function (e) { this.search(e.detail.value);}

index.wxml(首頁)完整代碼

<view class='search-view'>  <input class='input' confirm-type="search" maxlength="30" bindinput='wxSearchInput' value='{{keyword}}' bindconfirm='wxSearchFn' bindfocus="wxSerchFocus" bindblur="wxSearchBlur" placeholder='請輸入搜索內容'></input>  <button class='search' bindtap="wxSearchFn" hover-class='button-hover'>搜索</button></view><view class="boxtwo-tab-nav {{HomeIndex == 0 ?'on':''}}" bindtap="boxtwo" data-index="0">首頁</view>  <view class="boxtwo-tab-nav {{HomeIndex == 1 ?'on':''}}" bindtap="boxtwo" data-index="1">資源分享</view>  <view class="boxtwo-tab-nav {{HomeIndex == 2 ?'on':''}}" bindtap="boxtwo" data-index="2">微信小程序</view>   <view class="boxtwo-tab-nav {{HomeIndex == 3 ?'on':''}}" bindtap="boxtwo" data-index="3">網賺小項目</view><view class="boxtwo-tab-nav {{HomeIndex == 4 ?'on':''}}" bindtap="boxtwo" data-index="4">共享經濟</view><view class="wrap"> <template name="lists">  <navigator url='../../pages/detail/detail?id={{id}}' hover-class="navigator-hover">   <view class='imgs'>    <image src="{{img}}" background-size="cover" mode="scaleToFill"></image>   </view>   <view class='infos'>    <view class="title">{{title}}</view>    <view class="date">{{cTime}}</view>   </view>  </navigator> </template></view><view wx:if="{{HomeIndex == 0}}"><block wx:for="{{newsList}}" wx:key="*this"> <template is="lists" data="{{...item}}"/></block></view> <view wx:if="{{HomeIndex == 1}}" >  <block wx:for="{{shareList}}" wx:key="*this"> <navigator url='../../pages/shareDetail/shareDetail?id={{item.id}}' hover-class="navigator-hover">   <view class='imgs'>    <image src="{{item.img}}" background-size="cover" mode="scaleToFill"></image>   </view>   <view class='infos'>    <view class="title">{{item.title}}</view>    <view class="date">{{item.cTime}}</view>   </view>  </navigator></block> </view> <view wx:if="{{HomeIndex == 2}}" >   <block wx:for="{{weixinList}}" wx:key="*this"> <navigator url='../../pages/weixinDetail/weixinDetail?id={{item.id}}' hover-class="navigator-hover">   <view class='imgs'>    <image src="{{item.img}}" background-size="cover" mode="scaleToFill"></image>   </view>   <view class='infos'>    <view class="title">{{item.title}}</view>    <view class="date">{{item.cTime}}</view>   </view>  </navigator> </block> </view> <view wx:if="{{HomeIndex == 3}}" >   <block wx:for="{{netearnList}}" wx:key="*this"> <navigator url='../../pages/netearnDetail/netearnDetail?id={{item.id}}' hover-class="navigator-hover">   <view class='imgs'>    <image src="{{item.img}}" background-size="cover" mode="scaleToFill"></image>   </view>   <view class='infos'>    <view class="title">{{item.title}}</view>    <view class="date">{{item.cTime}}</view>   </view>  </navigator> </block> </view> <view wx:if="{{HomeIndex == 4}}" > <block wx:for="{{economyList}}" wx:key="*this"> <navigator url='../../pages/economyDetail/economyDetail?id={{item.id}}' hover-class="navigator-hover">   <view class='imgs'>    <image src="{{item.img}}" background-size="cover" mode="scaleToFill"></image>   </view>   <view class='infos'>    <view class="title">{{item.title}}</view>    <view class="date">{{item.cTime}}</view>   </view>  </navigator> </block> </view>

 index.wxss(對應的樣式文件)

.wrap{ height: 100%; display:flex; flex-direction: column; padding: 20rpx}navigator{overflow: hidden}.list{ margin-bottom: 20rpx; height: 200rpx; position: relative;}.imgs{ float: left;}.imgs image{ display: block; width: 210rpx; height: 180rpx;}.boxtwo-tab-nav{  display: inline-block;  width: 20%;  height: 90rpx;  line-height: 90rpx;  border-bottom: 1rpx solid #ededed;  box-sizing: border-box;  text-align: center;  color: black;  font-size: 30rpx}.on{  color:#405F80;  border-bottom: 5rpx solid #405F80;}.infos{ float: left; width: 480rpx; height: 200rpx; padding: 20rpx 0 0 20rpx;}.date{ font-size:13px;color:#aaa;position: absolute;}.title{font-size: 15px;}.search{ float: left; width: 130rpx; height: 70rpx; margin-left: 0; background-color: blueviolet; font-size: 28rpx; color: #fff; border: none;}.input{ float: left; width: 500rpx; height: 70rpx; font-size: 35rpx; background-color: white;}.search-view{ position: relative; overflow: hidden; height: 70rpx; padding: 20rpx 20rpx 25rpx 60rpx; background-color: #6699FF;}.button-hover { background-color: red;}

.js文件(邏輯層)

Page({ data:{  newsList:[],  HomeIndex: 0 }, onLoad: function () {  var that = this;  wx.request({   url: 'http://localhost:81/weicms/index.php?s=/addon/School/School/getList',   data: {},   header: {    'content-type': 'application/json'   },   success: function (res) {    console.log(res.data)    wx.setStorage({     key: 'newsList',     data: res.data,    })    that.setData({     newsList: res.data    })   }  })  wx.request({   url: 'http://localhost:81/weicms/index.php?s=/addon/Share/Share/getList',   data: {},   header: {    'content-type': 'application/json'   },   success: function (res) {    wx.setStorage({     key: 'sharesList',     data: res.data,    })    that.setData({     shareList: res.data    })   }  })  wx.request({   url: 'http://localhost:81/weicms/index.php?s=/addon/Weixin/Weixin/getList',   data: {},   header: {    'content-type': 'application/json'   },   success: function (res) {    wx.setStorage({     key: 'weixinList',     data: res.data,    })    that.setData({     weixinList: res.data    })   }  })  wx.request({   url: 'http://localhost:81/weicms/index.php?s=/addon/Netearn/Netearn/getList',   data: {},   header: {    'content-type': 'application/json'   },   success: function (res) {    wx.setStorage({     key: 'netearnList',     data: res.data,    })    that.setData({     netearnList: res.data    })   }  })  wx.request({   url: 'http://localhost:81/weicms/index.php?s=/addon/Economy/Economy/getList',   data: {},   header: {    'content-type': 'application/json'   },   success: function (res) {    wx.setStorage({     key: 'economyList',     data: res.data,    })    that.setData({     economyList: res.data    })   }  }) }, //搜索方法 key為用戶輸入的查詢字段 search: function (key) {  /*console.log('搜索函數觸發')*/  var that = this;  var newsList = wx.getStorage({   key: 'newsList',   success: function (res) {//從storage中取出存儲的數據*/   /*console.log(res)*/    if (key == '') {//用戶沒有輸入 全部顯示     that.setData({      newsList: res.data     })     return;    }    var arr = [];//臨時數組 用于存放匹配到的數據    for (let i in res.data) {     if (res.data[i].title.indexOf(key) >= 0) {//查找      arr.push(res.data[i])     }    }    if (arr.length == 0) {     that.setData({      newsList:[]     })    } else {     that.setData({      newsList: arr//在頁面顯示找到的數據     })    }   }  })  }, //事件處理函數 bindViewTap: function() {  wx.navigateTo({   url: '../logs/logs'  }) }, wxSearchInput: function (e) { this.search(e.detail.value); console.log(e.detail.value) }, wxSerchFocus: function (e) {  this.search(e.detail.value); }, wxSearchBlur: function (e) {  this.search(e.detail.value); }, wxSearchFn: function (e) {  /*console.log(e)*/ }, boxtwo: function (e) {  var index = parseInt(e.currentTarget.dataset.index)  this.setData({   HomeIndex: index  }) },

總結

以上所述是小編給大家介紹的微信小程序首頁的分類功能和搜索功能的實現思路及代碼詳解,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對VEVB武林網網站的支持!


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
国产精品海角社区在线观看| 亚洲成人精品久久久| 亚洲欧洲成视频免费观看| 久久久久在线观看| 51久久精品夜色国产麻豆| 国产在线视频欧美| 欧美国产精品va在线观看| 久热精品视频在线免费观看| 日韩av在线影院| 91久久精品视频| 中文字幕日韩精品在线| 97视频网站入口| 国产精品中文字幕在线| 久久综合久久美利坚合众国| 91精品视频网站| 久久久综合av| 在线成人激情黄色| 欧美日韩电影在线观看| 成人激情在线观看| 久久人人爽人人爽人人片av高请| 亚洲丝袜av一区| 成人在线视频网| 亚洲free性xxxx护士hd| 国产丝袜精品视频| 日日噜噜噜夜夜爽亚洲精品| 国产精品久久久久久亚洲影视| 亚洲国产精品久久久久秋霞不卡| 国产精品一区二区电影| 在线看片第一页欧美| 国内精品视频在线| 国产日韩精品综合网站| 日韩av网站电影| 欧美在线观看www| 国模吧一区二区三区| 欧美成年人视频| 色综合久久88| 欧美专区在线观看| 欧美裸体男粗大视频在线观看| 91免费综合在线| 成人中心免费视频| 亚洲级视频在线观看免费1级| 国产精品入口日韩视频大尺度| 日韩av在线影院| 国产精品久久久久久久久久99| 亚洲一级免费视频| 亚洲精品美女免费| 亚洲精品久久久久久久久久久久| 最近2019中文免费高清视频观看www99| 国产99久久精品一区二区| 亚洲国产精品999| 在线成人激情黄色| 亚洲成人教育av| 日韩电影中文 亚洲精品乱码| 一区二区三区日韩在线| 91欧美精品成人综合在线观看| 姬川优奈aav一区二区| 久久久免费精品| 中文国产亚洲喷潮| 中文字幕免费精品一区| 欧美亚洲在线视频| 国产精品视频自拍| 国产精品久久久久免费a∨大胸| 精品久久中文字幕| 欧美一区二区三区四区在线| 国产69久久精品成人| 97久久精品视频| 久久久999精品免费| 欧美激情按摩在线| 欧美性猛交xxxx免费看漫画| 欧美性jizz18性欧美| 97在线观看视频国产| 国产成人高潮免费观看精品| 91精品啪在线观看麻豆免费| 亚洲精品一二区| 亚洲一级一级97网| 欧美最猛性xxxxx免费| 欧美极品少妇xxxxⅹ喷水| 午夜精品久久久99热福利| 日韩视频在线观看免费| 亚洲国产欧美一区| 色七七影院综合| 久久久免费精品| 成人免费观看a| 欧美性xxxxx极品娇小| 国内精品中文字幕| 亚洲一区二区三区毛片| 高跟丝袜欧美一区| 日韩av一区二区在线| 午夜剧场成人观在线视频免费观看| 日韩欧美亚洲成人| 国产精品午夜国产小视频| 午夜美女久久久久爽久久| 亚洲国产另类 国产精品国产免费| 国产在线观看精品一区二区三区| 国产成人综合一区二区三区| 亚洲天堂日韩电影| 黄色成人在线播放| 亚洲aⅴ日韩av电影在线观看| 国产精品免费看久久久香蕉| 精品国产福利在线| 国产精选久久久久久| 91精品国产成人| 欧美精品videosex牲欧美| 精品国产乱码久久久久酒店| 久久久国产精品视频| 啊v视频在线一区二区三区| 日韩欧美成人网| 欧美有码在线观看| 国产自摸综合网| 日韩在线播放av| 国产丝袜视频一区| 最近2019年好看中文字幕视频| 亚洲色图50p| 亚洲人成网站999久久久综合| 久久这里只有精品99| 亚洲在线免费看| 欧美久久久精品| 中文字幕亚洲综合| 亚洲图片在线综合| 日韩美女福利视频| 91精品中国老女人| 高清欧美电影在线| 国产成人精品电影| 亚洲美女免费精品视频在线观看| 欧洲日本亚洲国产区| 日韩精品视频免费专区在线播放| 91美女福利视频高清| 成人精品aaaa网站| 久久久久久久av| 亚洲天堂免费视频| 国自产精品手机在线观看视频| 久久久久在线观看| 欧美视频免费在线| 国产精品黄视频| 欧美在线一级va免费观看| 一区二区三区黄色| 一本色道久久综合狠狠躁篇的优点| 在线观看日韩av| 久久久久久国产三级电影| 国产精品久久久久久av下载红粉| 亚洲精品短视频| 亚洲视频视频在线| 成年人精品视频| 亚洲欧美国产精品va在线观看| 亚洲自拍偷拍福利| 中文字幕在线成人| 日韩免费观看av| 日韩av快播网址| 亚洲欧美日韩另类| 亚洲欧美精品一区二区| 日韩av综合中文字幕| 亚洲片在线资源| 久久99久久亚洲国产| 久久九九免费视频| 国产专区精品视频| 国产欧美久久一区二区| 狠狠久久亚洲欧美专区| 日韩激情av在线播放| 日韩中文理论片| 97在线看福利| 国产中文日韩欧美| 亚洲视频欧美视频| 日韩久久精品电影| 成人xvideos免费视频|