美文网首页Vue-element-admin 学习之路
Vue el-table 关于多选删除

Vue el-table 关于多选删除

作者: 璃小灯吖 | 来源:发表于2020-01-07 16:22 被阅读0次

    项目的一个需求需要实现多选删除。这里记录一下自己实现的方法。


    1、获取多选选中行的数据

    查了官网文档中有这样一个方法可以获取选中的数据

    handleSelectionChange(val) {
        this.multipleSelection = val
        console.log('多选选中的行', this.multipleSelection)
    },
    

    Tips:点击某一行,选中改行前面复选框的方法

    <el-table @row-click="checkViews" ref="NodeTable" :data="list"
                        @selection-change="handleSelectionChange">
    // methods中
    checkViews(row){
          this.ableCheck = true // 判断选中状态
          this.$refs.NodeTable.toggleRowSelection(row);
    },
    

    在删除按钮上绑定Alldelete这个方法,@click="Alldelete"

    Alldelete() { // 多选删除
        if (this.ableCheck) {
        this.$confirm('确定删除?', '删除提示', {
              cancelButtonText: '取消',
              confirmButtonText: '确定',
              type: 'warning'
            }).then(() => { // 写一个循环逐条执行删除操作,这里的deleteNodeCode是调用的接口。
              for(let i = 0 ; i < this.multipleSelection.length; i++){
                console.log(this.multipleSelection[i].nodeCode)
                deleteNodeCode(this.multipleSelection[i].nodeCode)
              }
            }).then(() => {
                  console.log(this.list)
                  this.getList() //获取删除后的表格
                  this.$message({
                    type: 'success',
                    message: '删除成功'
                  })
              })
          } else {
            this.$confirm('请先选择表单', '删除提示', {
              confirmButtonText: '确定',
              type: 'warning'
            })
        }
    }
    

    相关文章

      网友评论

        本文标题:Vue el-table 关于多选删除

        本文链接:https://www.haomeiwen.com/subject/eczractx.html