Elementui删除表格最后一页全部数据后跳到前一页的骚气写法

这篇博客探讨了在Vue.js应用中处理分页数据删除的问题,特别是当删除最后一页的数据时,如何确保currentPage正确更新。作者提出通过设置flag变量来跟踪tableData长度,并在单个或批量删除后调整currentPage。删除操作后,currentPage会根据删除的数量自动减1,从而实现平滑的分页体验。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

造成这个原因是由于currentPage没有更新的原因,当最后一页的数据删除后,请求的current没有改变。
不要慌我的这种写法想跳哪一页就跳哪一页

这是分页参数
在这里插入图片描述
这是表格数据
在这里插入图片描述
我们可以给个变量flag,每次请求时把返回tableData长度给flag

当单个删除操作时判断flag等于1,给currentPage减1
当多个删除操作时就判断删除的数量长度(比如ids.length,rows.leng)是否等于flag,再给currentPage减1

看代码

data() {
      return {
      	ids[],
      	tableData:[],
        flag: 0,
        pageQuery: {
          currentPage: undefined,
          pageSize: undefined,
          queryString: undefined
        }
      };
    },
    methods: {
	 deleteData() {
        axios.delete("/api/deleteOne").then(res => {
            //当flag===1时当前currentPage - 1
            if (this.flag === 1) {
              this.pageQuery.currentPage--;
            }
        }).finally(() => {
        //再次分页查询就跳转到上一页了。
          this.selectPage();
        })
      },
      removeDataIds(){
        this.$api.delete("/api/remove", {data: ids}).then(res => {
       		//多删除的时候也一样
              if (this.currentPageFlag === ids.length) {
                this.pageQuery.currentPage--;
              }
              this.selectPage();
    	}
      },
      selectPage() {
        axios.get("/api/list", {params: this.pageQuery}).then(res => {
          this.tableData= res.data;
          //后面flag=== 1时,对currentPage进行-1。
          this.flag = this.tableData.length;
        })
      }
  }
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值