本篇文章帶給大家的內容是關於微信小程式中清單上拉加載的實作程式碼,有一定的參考價值,有需要的朋友可以參考一下,希望對你有幫助。
某個頁面,有多個列表,如100行,這時需要實現分頁功能,手機端的分頁通常都是滑到底部時上拉刷新。
使用scroll-view實現,其bindscrolltolower方法:滾動到底部/右邊觸發。當觸發時發送請求獲取新的數據,我寫的時候獲取的數據很快,我還給它加了個定時器啊哈哈哈,因為我想讓showLoading加載彈窗轉一轉,讓用戶知道上拉刷新資料。因為沒加的時候showLoading一閃而過,感覺體驗效果不好。
最後scroll-view使用垂直捲動時,需要給f22ed720d2ae070222ab6f087b345d61最後scroll-view使用垂直捲動時,需要給f22ed720d2ae070222ab6f087b345d61一個固定高度(height:93%),再給page設定高度(height:100%),否則bindscrolltolower觸發不了
<scroll-view wx:if="{{isShowList}}" class='scrollHeight' scroll-y="true" bindscrolltolower="getMore" lower-threshold='3'> </scroll-view>
來一段邏輯的程式碼
//上拉加载分页 getMore(e){ var that = this; var user = wx.getStorageSync('bizUser'); wx.showLoading({ title: '正在加载中', }); setTimeout(function(){ var pageindex = that.data.curPage; var student = that.data.student; if (pageindex>=1){ ++pageindex; } wx.request({ url: app.url + '', data: { schoolId: user.schoolId, pageSize: 10, curPage:pageindex }, method: 'GET', success:function(res){ if (res.data.data) { var studentLength = (res.data.data instanceof Array) ? res.data.data.length : 0; for (var i = 0; i < studentLength; i++) { //判断计时付或一次性 if (res.data.data[i].sign_type == 2) { res.data.data[i].sign_type = '一次性'; } else if (res.data.data[i].sign_type == 1) { res.data.data[i].sign_type = '计时付'; } else if (res.data.data[i].sign_type == 3) { res.data.data[i].sign_type = '计时付'; } else if (res.data.data[i].sign_type == 4) { res.data.data[i].sign_type = '一次性'; } else if (res.data.data[i].sign_type = 5) { res.data.data[i].sign_type = '一次性' } //数字变中文 if (res.data.data[i].learn_stage == 1) { res.data.data[i].learn_stage = '一'; } else if (res.data.data[i].learn_stage == 2) { res.data.data[i].learn_stage = '二'; } else if (res.data.data[i].learn_stage == 3) { res.data.data[i].learn_stage = '三' } } if (studentLength ==10) { for (var j = 0; j < studentLength;j++){ student.push(res.data.data[j]); } that.setData({ student: student, load: '上拉加载更多..', curPage: pageindex }) } else if (studentLength<10){ for (var j = 0; j < studentLength; j++) { student.push(res.data.data[j]); } that.setData({ student: student, load: '已经没有更多了..', curPage: pageindex }) } } else { that.setData({ load: '已经没有更多了' }) } } }) wx.hideLoading(); },500) },
以上是微信小程式中列表上拉載入的實作方法(附程式碼)的詳細內容。更多資訊請關注PHP中文網其他相關文章!