vue+element+Java实现批量删除

表格的主要代码段

  • 主要方法是: @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)