default-checked-keys | 默认勾选的节点的 key 的数组 | array |
通过递归的形式,获取角色下所有的三级权限的id,并保存到defkeys数组即一开始的默认的id中
getLeafKey(node,arr){//通过递归的形式,获取角色下所有的三级权限的id,并保存到defkeys数组即一开始的默认的id中
//node节点判断是不是3级节点,arr保存---判断 是否包含children属性
if(!node.children){//是三级节点
return arr.push(node.id)
}
//调用递归 循环node中的所有数组 拿到子节点
node.children.forEach((item) => {
this.getLeafKey(item,arr)
})
}
调用递归的时机:点击分配权限按钮的时候 弹出对话框之前
async showSetRightDialog(role) {//分配权限
this.getLeafKey(role,this.defkeys)//递归湖获取3级节点的ID
//展示分配权限的对话框
this.setDialogVisible = true
//获取所有权限
const{data:res}=await this.$http.get('rights/tree')
if(res.meta.status!==200) return this.$message.error('获取权限数据失败')
this.rightsList=res.data //将获取到的所有权限数据保存到rightsList中
},
<el-button size="mini" type="warning" round icon="el-icon-setting" @click="showSetRightDialog(scope.row)">
分配权限</el-button>