首先要做触底刷新,就需要后端做分页或者前端自己做分页,但是一般都是后端做
/**
* 页面上拉触底事件的处理函数
*/
onReachBottom: function () {}//小程序自带的触底刷新生命周期函数
需要现在pgae里设置好num页数
Page({
/**
* 页面的初始数据
*/
data: { num:1,},
)},
然后再小程序自带的触底刷新的生命周期里设置请求
onReachBottom: function () {
let getDAy = this.data.getDAy;//这里是开始请求的时间或者筛选请求的时间
let getday = this.data.getday//这里是开始请求的时间或者筛选请求的时间
let aa = this.data.num++//页数
let types = this.data.type//请求的类型,如果你们后端传递的参数不需要tyope类型区别就不用传
row就是要一次性请求多少条数据
let hpsnoa = JSON.stringify({page:aa,rows:15,timeDate:getDAy,timeDateDateEnd:getday,appointmentType:types}) //获取上一次请求的日期
这里传上一次的时间原因是什么?
是为了假设你筛选了一年的时间,那么你就需要去1年的时间里请求关键词的数据,或者加载一年数据里面的剩下数据
console.log(hpsnoa);
toDFLList(hpsnoa).then(res => {
// 判断触底时返回的数据为空时表示到底
if(res.data.rows.length == 0){
console.log(22);
Toast.fail("已经到底了");
}else{
if(res.data.rows !== "[]" ){
if(res.data.rows){
var basjh = res.data.rows
var recordset = [...this.data.pregnant,...basjh]//将触底加载的数据与上一次数据进行合并,这里上一次的数据需要放在前面,新的数据放在后面,合并顺序反了就会导致,新的数据在上面,而不是在下面
this.setData({
pregnant:recordset
})
}
}else if(res.data.rows =="[]"){
console.log(11);
Toast.fail("数据为空");
return
}
}
})
},
新建了个群,欢迎大家一起进群讨论459358760