当前位置:   article > 正文

微信小程序上拉加载:onReachBottom详解+设置触发距离_onreachbottom用法

onreachbottom用法

前端经常遇到上拉加载更多的需求,一般还涉及到翻页。小程序里已经给了下拉到底的触发方法onReachBottom(),这里记录下怎样使用这个方法实现下拉加载更多,有需要的直接看代码,有详细注释:

1、首先在data里定义一下返回数据data,和翻页的页数pagenum

  1. data: {
  2. datalist: [], //.wxml文件需要绑定的列表,我这里用的数据类型是数组
  3. pagenum: 1, //初始页默认值为1
  4. },

2、具体的请求过程,包含新老数据的数组合并,实现数据实时更新

  1. getdatalist: function () { //可在onLoad中设置为进入页面默认加载
  2. var that = this;
  3. wx.request({
  4. url: '请求地址',
  5. data: {
  6. "key": "某入参value",
  7. "pageNum": that.data.pagenum, //从数据里获取当前页数
  8. "pageSize": 10, //每页显示条数
  9. },
  10. method: "POST",
  11. success: function (res) {
  12. var arr1 = that.data.datalist; //data获取当前datalist数组
  13. var arr2 = res.data; //从此次请求返回的数据中获取新数组
  14. arr1 = arr1.concat(arr2); //合并数组
  15. that.setData({
  16. datalist: arr1 //合并后更新datalist
  17. })
  18. },
  19. fail: function (err) { },//请求失败
  20. complete: function () { }//请求完成后执行的函数
  21. })
  22. }

3、翻页时更新页码pagenum+1,并触发新一轮请求,和第2部形成循环。

  1. onReachBottom: function () { //触底开始下一页
  2. var that=this;
  3. var pagenum = that.data.pagenum + 1; //获取当前页数并+1
  4. that.setData({
  5. pagenum: pagenum, //更新当前页数
  6. })
  7. that.getdatalist();//重新调用请求获取下一页数据
  8. },

4、如果想要实现无感加载,还可以在.json文件中给onReachBottom()设定触发距离,这样不用拉到最底部就开始触发onReachBottom翻页:
"onReachBottomDistance":300 //可以在当前页也可以全局设置

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/知新_RL/article/detail/746454
推荐阅读
相关标签
  

闽ICP备14008679号