let demo = [
{
label: ‘1’,
value: ‘1’,
children: [
{
label: ‘11’,
value: ‘11’,
children: [
{
label: ‘111’,
value: ‘111’,
children: []
}
]
},
{
label: ‘12’,
value: ‘12’,
children: []
}
]
},
{
label: ‘2’,
value: ‘2’,
children: [
{
label: ‘21’,
value: ‘21’,
children: []
},
{
label: ‘111’,
value: ‘111’,
children: []
},
{
label: ‘22’,
value: ‘22’,
children: []
}
]
}
]
// 根据关键字过滤后的数据
const treeData2 = () => {
let mhres = filterNodeMethod(‘11’, demo)
return mhres
}
// 处理搜索后的数据返回树形结构
const filterNodeMethod = (value, arr) => {
if (!arr) {
return []
}
let newarr = []
arr.forEach((element) => {
console.log(element)
if (element.value.indexOf(value) > -1) {
const ab = filterNodeMethod(value, element.children)
const obj = {
…element,
children: ab
}
newarr.push(obj)
} else {
if (element.children && element.children.length > 0) {
const ab = filterNodeMethod(value, element.children)
const obj = {
…element,
children: ab
}
if (ab && ab.length > 0) {
newarr.push(obj)
}
}
}
})
return newarr
}
const change = () => {
console.log(treeData2(), ‘==========’)
}
树结构过滤
最新推荐文章于 2024-08-02 16:32:52 发布