element-ui Pagination 分页频繁切换导致重复触发api问题

阎元徽
2023-12-01

问题复现

当分页数据足够多的情况下,将分页接入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),
 类似资料: