溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

微信小程序列表下拉刷新上拉加載的示例分析

發(fā)布時間:2021-06-08 10:47:44 來源:億速云 閱讀:324 作者:小新 欄目:移動開發(fā)

小編給大家分享一下微信小程序列表下拉刷新上拉加載的示例分析,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!

效果圖

微信小程序列表下拉刷新上拉加載的示例分析

原理

利用微信小程序的onPullDownRefresh函數(shù)(下拉刷新監(jiān)聽函數(shù))和onReachBottom函數(shù)(上拉加載監(jiān)聽函數(shù))監(jiān)聽頁面的下拉和上拉動態(tài),從而對頁面數(shù)據進行修改!

頁面配置JSON

  • enablePullDownRefresh:開啟下拉刷新;

  • onReachBottomDistance:頁面上拉觸底事件觸發(fā)時距頁面底部距離,單位為px。

{
 "enablePullDownRefresh": true,
 "onReachBottomDistance": 50
}

WXML

<view class="tui-content">
 <view class="tui-menu-list" wx:for="{{dataList}}">Item -- {{item}}</view>
</view>

JS

此處用setTimeout模擬請求數(shù)據;
加載數(shù)據限制三次,調用wx.showToast顯示沒有更多數(shù)據。

Page({
 data: {
 dataList: [1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20],
 count : 0
 },
 onPullDownRefresh(){
 var self = this;
 setTimeout(() => {
  // 模擬請求數(shù)據,并渲染
  var arr = self.data.dataList, max = Math.max(...arr);
  for (var i = max + 1; i <= max + 3; ++i) {
  arr.unshift(i);
  }
  self.setData({ dataList: arr });
  // 數(shù)據成功后,停止下拉刷新
  wx.stopPullDownRefresh();
 }, 1000);
 },
 onReachBottom(){
 var arr = this.data.dataList, max = Math.max(...arr);
 if (this.data.count < 3) {
  for (var i = max + 1; i <= max + 5; ++i) {
  arr.push(i);
  }
  this.setData({
  dataList: arr,
  count: ++this.data.count
  });
 } else {
  wx.showToast({
  title: '沒有更多數(shù)據了!',
  image: '../../src/images/noData.png',
  })
 }
 }
})

以上是“微信小程序列表下拉刷新上拉加載的示例分析”這篇文章的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注億速云行業(yè)資訊頻道!

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內容(圖片、視頻和文字)以原創(chuàng)、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI