如图所示
我们要实现如下功能
下图是结果
//利用递归来实现两个数组取相同项 并给取出来的数据赋值
const getLimitNode = (tree,limits) => { // tree: 2数组, limits: 1数组
limits.forEach(limit=>{
tree.forEach(item=>{
if(limit == item.id) {
item.selected = true
return
}if(item.childrenNode) {
getLimitNode(item.childrenNode,limits)
}
})
})
}
role_management.getRoleLimitationTree(props.roleId).then(data=>{ // 从后端接口获取数据
console.log(data.data)
allLimitData.limitations = data.data // 图中的1数组
// 联锁所有权限树
role_management.getInterlockLimitationTree().then(data=>{// 从后端接口获取数据
allInterlockData.data = data.data // 图中的2数组
getLimitNode(allInterlockData.data,allLimitData.limitations) // 调用getLimitNode
)