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

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

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

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

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

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

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

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

最新文章

  1. 为Titanium创建自己的安卓推送模块
  2. Nginx系列2之Nginx+php
  3. 【转】基于 CoreText 实现的高性能 UITableView
  4. asp.net.mvc 中form表单提交控制器的2种方法和控制器接收页面提交数据的4种方法
  5. 新年奉献MVC+EF(CodeFirst)+Easyui医药MIS系统
  6. SQL注入原理小结
  7. (转) Lua string 操作函数
  8. map与set的遍历
  9. 模板-->中国剩余定理[互质版本]
  10. Tempdb怎么会成为性能瓶颈
  11. 公共建筑能耗监测平台的GPRS通讯服务器的开发方法分享
  12. AngularJS中如果ng-src 图片加载失败怎么办
  13. ArcGIS API for JavaScript:Layer之间那点儿事
  14. Mysql 存储过程实例详解
  15. Maven依赖中的scope详解,在eclipse里面用maven install可以编程成功,到服务器上用命令执行报VM crash错误
  16. B+树与B-树
  17. liferay中如何实现自己定义的方法
  18. 用javac编译servlet类出现问题
  19. 主流图片加载框架 ImageLoader、Glide、Picasso、Fresco 对比
  20. K-means聚类算法与EM算法

热门文章

  1. Java:Collections
  2. linux下的硬盘分区、格式化、挂载
  3. 4. Java流程控制
  4. iCloud开发: key-value Storage,CloudKit,iCloud Documents
  5. Kotlin笔记小结(For Java Developer)
  6. 1.SQL常用命令
  7. rsync同步文件到远程机器,卡住10多秒--问题解决过程
  8. ubuntu21.10搭建jenkins和gitlab自动化部署环境
  9. Linux配置FTP(vsftpd)服务和无法上传下载问题解决
  10. PowerSploit的使用