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 //可以在当前页也可以全局设置
5、触发上拉、下拉事件需要先配置开启,可在全局app.json中配置,或者单独在页面中的json文件中配置:
全局配置:
"window": {
"onReachBottomDistance":100, //触发距离
"enablePullDownRefresh": true //开启上拉下拉
},
当前页面:
{
"usingComponents": {},
"navigationBarTitleText": "顶部导航标题"
"onReachBottomDistance":100, //触发距离
"enablePullDownRefresh": true //开启上拉下拉
}