1.首先需要一个批量删除按钮:
<el-button type="danger" @click="batchDelete">批量删除</el-button>
2.如何获取已经选中的节点:
(1)我们需要调用tree组件提供的getCheckedNodes方法,如果需要调用某个组件提供的方法,我们需要给用ref属性给组件起一个唯一标识名字:在<el-tree>标签中:
ref="menuTree"
(2)编写批量删除的方法:
//批量删除
batchDelete(){
let catIds = [];
let checkedNodes = this.$refs.menuTree.getCheckedNodes();
console.log("=被选中的元素",checkedNodes);
for (let i = 0; i < checkedNodes.length; i++) {
catIds.push(checkedNodes[i].catId);
}
this.$confirm(`是否批量删除【${catIds}】菜单`, '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
}).then(() => {
this.$http({
url: this.$http.adornUrl('/product/category/delete'),
method: 'post',
data: this.$http.adornData(catIds,false)
}).then(({data}) => {
this.$message({
message: '菜单删除成功',
type: 'success'
});
this.getMenus();
});
}).catch(() => {
});
},