遇到问题:
list初始化后会加载一次onLoad事件,但是当第一次不足以填满一个屏幕时候,会一直加载知道填满一屏幕
<van-list v-model:loading="state.loading" :finished="state.finished" finished-text="没有更多了" @load="onLoad" > </van-list>
解决方法:
:immediate-check="false" 属性关闭初始化的第一次加载
在vue create生命周期函数内进行第一次请求
<van-list v-model:loading="loading" :finished="finished" finished-text="没有更多了" :immediate-check="false" @load="load_more" > </van-list> created() { let param = { studentId: localStorage.getItem("userId"), //studentId:1, offset: this.offset, limit: this.limit, }; getIntegralList(param).then((data) => { console.log(data); this.list = data.data; }); }, methods: { onLoad() { let param = { studentId: localStorage.getItem("userId"), //studentId:1, offset: this.offset, limit: this.limit, }; getIntegralList(param).then((res) => { console.log(res); if (res.code == 200) { this.loading = false; this.list = this.list.concat(res.data); //追加数据 if (res.data.length == 0) { //数据全部加载完成 this.finished = true; } else { this.finished = false; } } }); }, }