vue+element写后台管理系统时,表格和分页功能的一个注意事项(容易忽略的重要细节)

用vue+element 写后台管理系统,是很常见的项目。其中,element的table表格和分页功能,常常会配合使用。
这里,有一个关于删除的重要细节
在这里插入图片描述
如图示,在表格只有最后一条数据时候,删除的请求,如果只是把id上传去删除,然后做请求成功和失败的处理,就会出现删除后,重新获取所有列表的页码仍然是第二页。但实际上删除了这条数据,应该只剩下一页的数据数据了。导致页面出现暂无数据。
在这里插入图片描述
如图中,删除后,重新请求所有数据的请求,页码是2,但实际上,页面只剩下1页了,所以请求不到数据。

于是,我们应该在删除后,重新请求前,做个判断

fnDelBurl(id) {
      this.$confirm('此操作将永久删除该节, 是否继续?', '提示', {
        confirmButtonText: '确定',
        cancelButtonText: '取消',
        type: 'warning'
      })
        .then(async() => {
          //这里是删除操作
          const { data: res } = await delClass(id)
          //这里是删除失败后的处理
          if (res.error) return this.$message.error('删除失败')
         
          //!!!!!!important这里是重点
           //这里,就是添加个判断,如果页面上,只有一条数据了,且页码不是最后一页。就减少页码
          if (this.tableData.length === 1 && this.pageData.page > 1) {
            this.pageData.page -= 1
          }
          //这里是重新请求所有数据,重新请求所有数据里会包含当前data中的页码和条数
          this.fnGetData()
        })
        .catch(() => {
          this.$message({
            type: 'info',
            message: '已取消删除'
          })
        })
    },
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值