欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

vue+element+Java实现批量删除功能

程序员文章站 2022-10-15 20:07:03
表格的主要代码段 主要方法是: @selection-change="selschange

表格的主要代码段

主要方法是: @selection-change="selschange

<el-table ref="singletable" v-loading="loading" :data="tabledata" stripe @selection-change="selschange">
 <el-table-column type="selection" width="55" ></el-table-column> //复选框
 <el-table-column label="#" type="index" width="60"></el-table-column> //id
</el-table>

定义显示值

 data(){
   return{
    sels: [],//选中的值显示
   }
  }

选中时触发

selschange(sels) {
  this.sels = sels 
},

批量删除按钮   disabled设置是否可用

 <el-button @click="deleteall(sels)" :disabled="this.sels.length === 0"> 批量删除</el-button>

绑定事见

deleteall() {
    var ids= this.sels.map(item => item.id).join()//获取所有选中行的id组成的字符串,以逗号分隔
    console.log(ids)
    this.$confirm('此操作将永久删除该文件及其子文件, 是否继续?', '提示', {
     confirmbuttontext: '确定',
     cancelbuttontext: '取消',
     type: 'warning'
    }).then(() => {   
     axios.post("/****/****/deleteall",{ids:ids}).then(resp=>{ 
      // 传递到后台处理的方刷新页面,callback中使用你最初获取页面信息的方法就行,就会刷新页面
      if (resp.data.status == 200){
      this.$alter(resp.data.message,'',{ 
        confirmbuttontext: "确定",
        callback:action=>{     
        _this.searchclick(),
        }
       }
      }
     } 
     })
    })
   }

后台解析

@requestmapper("deleteall")
public void delete(@requestbody map<string,objetc> params){
 // 获取传回来的id字符串
 string ids = params.get("ids").tostring();
 // 通过逗号分割字符串,获得所有的id,在mapper中通过mybatis提供的动态循环遍历并删除数组中对应id的值就行
 string[] id = ids.split(",");
 // 根据自己的后台逻辑,调用service的方法,我就不写了
}

总结

以上所述是小编给大家介绍的vue+element+java实现批量删除功能,希望对大家有所帮助