Vue使用Element-table实现动态删除某行的操作(在删除后页面中不显示该行)

需求

点击删除按钮后,在数据库中删除该行并且在当前页面不刷新的情况下不显示该行

问题

在点击删除后,将数据库中按照id删除该行以后,页面在不刷新的情况下还是显示着删除前的数据库中的数据。

解决方法

可以将删除时传入该行row的index,再将展示的数据数组通过splice(index,1)方法截取。

代码实现

mehods部分:

      async handleDelete(index, scope) {
        await this.$confirm(("您确定要删除当前:" + scope.id + "号产品吗?"), "删除确认", {
          distinguishCancelAndClose: true,
          confirmButtonText: '删除',
          cancelButtonText: '放弃删除'
        }).
          then(() => {
            this.productlist.splice(index, 1);
            deleteProduct(scope.id);
            this.$message({
              type: 'success',
              message: "删除成功!"
            })
          })
          .catch(action => {
            this.$message({
              type: 'warning',
              message: action === 'cancel' ? "放弃删除当前产品" : '停留在当前页面'
            })
          });

标签部分:

              <el-button type="danger" icon="el-icon-delete" size="small"
                @click="handleDelete(scope.$index, scope.row)">删除</el-button>
  • 4
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值