问题复现
当分页数据足够多的情况下,将分页接入api(api返回值需要重新赋值分页参数),频繁触发分页的下一页。
问题原因
当我们频繁点击下一页的时候,因为会请求api,在api未返回数据的时候,触发下一页,导致接口又触发。当api结果返回时,因为会重新赋值分页,也就造成了,分页的值改变,从而又触发了api。
解决
handleCurrentChange(val) {
// 分页切换(原)
this.$emit('pagination', { page: val, limit: this.pageSize })
}
// 修改为 新增节流限制,这样用户短时间内频繁切换,只会触发一次对应的api请求
handleCurrentChange: debounce(function (val) {
this.$emit("pagination", { page: val, limit: this.pageSize });
}, 500),