问题描述:
使用 van-list 遇到的数据请求异常问题
下拉列表时会一次发出好几个甚至十几个同一请求
使用 van-list 自带的 finished属性 解决不了该问题
目前这种情况只出现在苹果手机上
安卓手机没有复现此问题
解决方法:
可以尝试再请求方法的最前面加上 this.loading = true
实测可以解决苹果设备同时发出多个请求的问题
<van-list
:loading="loading"
:finished="finished"
finished-text="没有更多了"
@load="queryVillageHelperPageList()"
class="task-list"
>
......
</van-list>
// 获取帮扶对象列表
queryVillageHelperPageList() {
this.loading = true // 防止多次请求
const params = { ...this.queryParams, ...this.listQuery }
queryVillageHelperPageList(params).then(res => {
this.common.CheckCode(res, null, () => {
if (res.data) {
// 加载状态结束
this.loading = false
// 数据全部加载完成
if (this.helperList.length >= res.data.total) {
this.finished = true
} else {
this.helperList.push(...res.data.list)
this.listQuery.pageNum += 1
}
}
})
})
}