原因是upCallback函数里面使用了this.mescroll.xxx(xx, xx)在请求成功后,隐藏加载状态。应该使用upCallback(mescroll) {}函数参数里的mescroll.xxx(xx, xx)在请求成功后,隐藏加载状态。
async upCallback(mescroll) {
...
const data = res.data.records;
const total = res.data.total;
if (mescroll.num === 1) this.dataList = [];
this.dataList = this.dataList.concat(data);
mescroll.endBySize(data.length, total); // !!!
} catch (e) {
mescroll.endErr(); // !!!
}
},
async upCallback(mescroll) {
try {
let params = {
}
const data = (await xxx(params)).data
const records = data.records
const total = data.total
mescroll.endBySize(records.length, total);
//方法一(推荐): 后台接口有返回列表的总页数 totalPage
//必传参数(当前页的数据个数, 总页数)
//mescroll.endByPage(curPageData.length, totalPage);
//方法二(推荐): 后台接口有返回列表的总数据量 totalSize
//必传参数(当前页的数据个数, 总数据量)
//mescroll.endBySize(curPageData.length, totalSize);
//方法三(推荐): 您有其他方式知道是否有下一页 hasNext
//必传参数(当前页的数据个数, 是否有下一页true/false)
//mescroll.endSuccess(curPageData.length, hasNext);
if (mescroll.num === 1) this.list = [];
this.list = this.list.concat(records);
} catch (e) {
mescroll.endErr();
}
},