element Ui 分页size-change事件触发同时也出发了current-change事件,导致调用两次接口

新手上路,请多包涵

element Ui 分页size-change事件触发同时也出发了current-change事件,导致调用两次接口

<el-pagination 
  @size-change="handleSizeChange"
  @current-change="handleCurrentChange" 
  :current-page.sync="pageInfo.PageNum" 
  :page-sizes="[5, 10, 20]"
  :page-size="pageInfo.PageSize" 
   layout="total, sizes, prev, pager, next, jumper" :total="pageInfo.Total">
</el-pagination> 
    //pageSize变化事件
   handleSizeChange(val) {
        this.$emit("sizeChange", val);
  },

  //pageNum变化事件
  handleCurrentChange() {
    this.$emit("pageNumCheng");
  }
阅读 15k
2 个回答

这个地方确实有点问题,因为一般size改变的时候会有两种情况:页数变了和没变两种。所以有时候会触发,有时候又不会触发。所以我的建议是size改变的时候请求接口,同时设置一个flag,如果是size改变的情况,curent-change事件不触发请求接口,等到size请求的接口回来以后再设置这个flag取反

handleSizeChange(val) {
                this.options.limit = val;
                this.getData();
},
            handleCurrentChange(val) {
                this.options.offset = this.options.limit * (val - 1);
                this.getData();
            }
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题