我们在项目中开发角色授权菜单时候会把当前id和所有父级id传给后端,这样回显时候就会全部选中,下面是解决方法
只需要将所有的父级id全部删除就可以了,之保留最后一级id作为回显,这样父级id就会成为半选状态,递归代码如下:
main (arr1,arr2) {
for(let i = 0;i< arr1.length;i++) {
for(let j = 0;j< arr2.length;j++) {
if(arr1[i].searchIndex == arr2[j] && arr1[i].children && Array.isArray(arr1[i].children) && arr1[i].children.length>0){
arr2.splice(j,1);
this.main(arr1[i].children,arr2)
}
}
}
return arr2
},