按钮
<el-button @click="removeAllSelection()" icon="el-icon-delete" type="danger" size="mini">批量删除</el-button>
表格
@selection-change=“handleSelectionChange”
获取选中行的信息
<el-table :data="tableData" class="ops-object-table" stripe border size="mini"
@selection-change="handleSelectionChange">
<el-table-column
type="selection"
width="55">
</el-table-column>
<el-table-column label="名称" prop="name" align="center"/>
<el-table-column label="号码" prop="number" align="center"/>
</el-table >
multipleSelection: []
//勾选表格多选框
handleSelectionChange(val) {
this.multipleSelection = val //当前选中行的数据
},
//点击批量删除按钮
removeAllSelection() {
if (this.multipleSelection.length > 0) {
this.$confirm('此操作将删除选中项,是否继续', '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
}).then(() => {
const idList = []
for (const v of this.multipleSelection) {
idList.push(v.id)
}
this.removeAlls(idList)
}).catch(() => {
})
} else {
this.$notify({
title: '提示',
message: '请勾选要提交的项!',
type: 'warning',
duration: 2000
})
}
},
//调方法
removeAlls(idList) {
//调js中的方法
removeAll(idList).then((res) => {
if(res.success){
this.$message.success("删除成功");
this.getPage();
}else{
this.$message.error(res.message);
}
})
},
js
axios传参
在idList后添加 ’ ’ 符号,后端获得的参数形式就为 id=1&id=2&id=3
不添加,则为:id[]=1&id[]=2&id[]=3
export function removeAll(idList){
return Axios({
method: 'delete',
headers: {'Content-Type': 'application/json'},
params: {id:idList+''},
url: '/remove/removeAll'
});
}