欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

微信小程序实现列表下拉刷新上拉加载

程序员文章站 2024-01-13 22:34:16
本文实例为大家分享了android九宫格图片展示的具体代码,供大家参考,具体内容如下 demo下载 效果图 原理 利用微信小程序的onpulldownrefre...

本文实例为大家分享了android九宫格图片展示的具体代码,供大家参考,具体内容如下

demo下载

效果图

微信小程序实现列表下拉刷新上拉加载

原理

利用微信小程序的onpulldownrefresh函数(下拉刷新监听函数)和onreachbottom函数(上拉加载监听函数)监听页面的下拉和上拉动态,从而对页面数据进行修改!

页面配置json

  • enablepulldownrefresh:开启下拉刷新;
  • onreachbottomdistance:页面上拉触底事件触发时距页面底部距离,单位为px。
{
 "enablepulldownrefresh": true,
 "onreachbottomdistance": 50
}

wxml

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

js

此处用settimeout模拟请求数据;
加载数据限制三次,调用wx.showtoast显示没有更多数据。

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(() => {
  // 模拟请求数据,并渲染
  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 });
  // 数据成功后,停止下拉刷新
  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: '没有更多数据了!',
  image: '../../src/images/nodata.png',
  })
 }
 }
})

总结

必须在每次数据请求完成后,使用wx.stoppulldownrefresh()停止下拉刷新。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。