解决 element-ui Pagination(分页)删除末页最后一条数据,并返回上一页问题

问题描述

在使用element-ui 的 Pagination的时候,删除末页最后一条数据,重新发送请求获得数据时,任然显示最后被删除的那条数据,并重新请求获取数据失败;但数据库中确实删除成功。
在这里插入图片描述

数据源

<script>
export default {
  data () {
    userList: [],
    queryInfo: {
      // 当前页
      pageNum: 1,
      // 每页显示几天
      pageSize: 5
    },
    // 总条数
    total: 0// 要删除用户的id
    delId: 1
  }
}
</script>

发送请求获取数据的方法

<script>
export default {
  methods: {
    // 发送请求,获取用户列表
    async getUserList() {
      const { data: res } = await this.$axios.get('/user_list', {
        params: this.queryInfo
      })
      if (res.status !== 200) return this.$msg.error(res.$msg)
      this.total = res.data.total
      this.userList = res.data.users
    },
  }
}
</script>

删除用户的方法

<script>
export default {
  // 删除用户
    async deleteUser() {
      const { data: res } = await this.$axios.delete('/user', { data: { id: this.delId } })
      if (res.status !== 200) return this.$msg.error(res.msg)
      this.$msg.success(res.msg)
      // 判断上一次请求的数据总长度
      if (this.total !== 1) {
        // 判断上一次获取的数据列表长度
        if (this.userList.length === 1) {
          this.queryInfo.pnum = this.queryInfo.pnum - 1
          // 重新加载数据
          this.getUserList()
        } else {
          // 重新加载数据
          this.getUserList()
        }
      } else {
        // 当删除所有数据后,要将用户列表置空
        this.userList = []
      }
    }
}
</script>
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值