基于Vue+element表格删除最后一页的最后一条数据后回显数据为空解决

在项目中,当我们在删除最后一页的最后一条数据时,我们想要的效果是回到上一页,查询处上一页的数据显示出来,当前页码变成上一页,而真正删除的时候显示出来是个空的,而且页码也还在当前页

第一种情况

一般情况下,后端返回的表格数据都会把数据的总数,一页展示的条数,总页数,当前第几页返回给前端,那么我们之间判断当前页码与后端返回的总页码进行比较就可以了

  • 注意:只判断当前页大于后端返回的总页数是不行的,如果返回的数据为空则会进入死循环,所以我们要判断返回的总页数是否大于0
async fetchData () {
      try {
        let data = {
          ...this.listQuery,
          ...this.searchData
        }
        let result = await fetchData(data)
        // 表格数据
        this.tableData = result.recordList || []
        // 总数
        this.total = result.recordCount || 0
       
        if (result.pageCount>0&&this.listQuery.pageIndex > result.pageCount) {
          this.listQuery.pageIndex = result.pageCount
          this.fetchData()
        }
      } catch {
        this.tableData = []
        
      }
    }

  • total: 总数
  • pageCount:总共多少页
  • pageIndex:当前页

第二种情况

如果后端只返回了总数给前端的话,那么我们就要根据一页展示的条数来进行计算总页数了

async fetchData () {
      try {
        let data = {
          ...this.listQuery,
          ...this.searchData
        }
        let result = await fetchData(data)
        // 表格数据
        this.tableData = result.recordList || []
        // 总数
        this.total = result.recordCount || 0
        let pageCount =  Math.ceil(this.total/this.listQuery.pageSize)
        if (pageCount>0&&this.listQuery.pageIndex > pageCount) {
          this.listQuery.pageIndex = result.pageCount
          this.fetchData()
        }
      } catch {
        this.tableData = []
        
      }
    }

  • total: 总数
  • pageCount:总共多少页
  • pageIndex:当前页
  • pageSize:一页展示的条数
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值