微信小程序实现分页加载数据

<block wx:for="{{dataArray}}" wx:for-item="list" wx:key="data">
    <block wx:for="{{list}}" wx:key="list">
        <view>内容</view>
    </block>
</block>
复制代码
onLoad: function(){
  this.getList();
},
  // 页面上拉触底事件的处理函数 
  onReachBottom: function() {
   this.next()
 },
//请求第一页数据
getList: function() {
    var that = this;
    var page = 0
    that.setData({
          dataArray: []
    })
    app.util.request({
          'url': '*****',
          'data': {
            page: 0, 
          },
          success: function(res) {
            var list= res.data.data
            var totalDataCount = list.length;  
            that.setData({
              ["dataArray["+page+"]"]: list,   
              page: page,     
              totalDataCount: totalDataCount   
            })
          }
        })
      },
    })
  },    
//请求下一页数据
next : function(){
  var page = that.data.page;
   page += 1;
   app.util.request({
     'url': '*****',
     'data': {
       page: page,
     },
     success: function(res) {
       var list = res.data.data;
       // 计算当前共加载了多少条数据,来证明这种方式可以加载更多数据
       var totalDataCount = that.data.totalDataCount;
       totalDataCount = totalDataCount + list.length;
       that.setData({
         ["dataArray[" + page + "]"]: list,
         page: page,
         totalDataCount: totalDataCount
       })
     }
   })  
}
复制代码

原博文解释更详细一些,以上是根据第二种方法实现的:https://www.jianshu.com/p/066c062845e9

posted @   怂的一批的蜗牛  阅读(3916)  评论(0编辑  收藏  举报
编辑推荐:
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
阅读排行:
· 单线程的Redis速度为什么快?
· 展开说说关于C#中ORM框架的用法!
· Pantheons:用 TypeScript 打造主流大模型对话的一站式集成库
· SQL Server 2025 AI相关能力初探
· 为什么 退出登录 或 修改密码 无法使 token 失效
点击右上角即可分享
微信分享提示