1.改變鍵值對
filterTree(treeArr) {
function eachItem(arr) {
let res = arr.filter(item => {
if (item.children && item.children.length > 0) {
item.children = eachItem(item.children)
}
item.key = item.id
return item
})
return res
}
return eachItem(treeArr)
},
//[
// {
// key: 6,
// path: "/modal",
// name: "彈窗",
// component: "modal/index",
// title: "彈窗", icon: "home", children: []
// }
//]
//[
// {
// id: 6,
// path: "/modal",
// name: "彈窗",
// component: "modal/index",
// title: "彈窗", icon: "home", children: []
// }
//]
2.根據(jù)條件保留某些節(jié)點
從樹tree中過濾掉,樹的key不在bList數(shù)組中的節(jié)點
filterTreeArray(tree, bList) {
return tree.filter(item => {
return bList.indexOf(item.key) > -1
}).map(item => {
item = Object.assign({}, item)
if (item.children) {
item.children = this.filterTreeArray(item.children, bList)
}
return item
})
}
// let menuData = this.filterTreeArray(this.treeData, menuCheckedKyes)
/*
this.treeData=[
{
key: 2,
name: "構(gòu)建類管理",
},
{
name: "三級菜單",
key: 3,
children: [
{
key: 34,
name: "routeview",
children: [
{
key: 35,
name: "菜單管理",
children: []
}
]
},
{
key: 36,
name: "組織管理",
children: []
},
]
},
]
menuCheckedKyes=[2,3 , 34] 只要key是2、3、34的
過濾后
this.treeData=[
{
key: 2,
name: "構(gòu)建類管理",
},
{
name: "三級菜單",
key: 3,
children: [
{
key: 34,
name: "routeview",
children: []
},
]
},
]
*/