findTree
js
findTree(data, value, callback, fieldNames)
从树型结构中查找符合条件的数据
参数
名称 | 说明 | 类型 | 默认值 |
---|---|---|---|
data | 数据列表 | array | - |
value | 父级初始值 | number string object | 0 |
callback | 回调函数 | function | - |
fieldNames | 字段名 | object | { key: 'id', children: 'children' } |
代码演示
基础用法
js
const data = [
{
id: '1',
title: '选项1',
parentId: '0',
children: [
{
id: '1-1',
title: '选项1-1',
parentId: '1'
},
{
id: '1-2',
title: '选项1-2',
parentId: '1'
}
]
},
{
id: '2',
title: '选项2',
parentId: '0',
children: [
{
id: '2-1',
title: '选项2-1',
parentId: '2'
},
{
id: '2-2',
title: '选项2-2',
parentId: '2'
}
]
}
]
findTree(data, '2-1', (item, index, array, path) => {
console.log(item)
console.log(index)
console.log(array)
console.log(path)
})
json
{
"id": "2-1",
"title": "选项2-1",
"parentId": "2"
}
json
0
json
[
{
"id": "2-1",
"title": "选项2-1",
"parentId": "2"
},
{
"id": "2-2",
"title": "选项2-2",
"parentId": "2"
}
]
json
[
{
"id": "2",
"title": "选项2",
"parentId": "0",
"children": [
{
"id": "2-1",
"title": "选项2-1",
"parentId": "2"
},
{
"id": "2-2",
"title": "选项2-2",
"parentId": "2"
}
]
},
{
"id": "2-1",
"title": "选项2-1",
"parentId": "2"
}
]
使用多个字段
js
const data = [
{
id: '1',
title: '选项1',
parentId: '0',
active: false,
children: [
{
id: '1-1',
title: '选项1-1',
parentId: '1',
active: false,
},
{
id: '1-2',
title: '选项1-2',
parentId: '1',
active: false,
}
]
},
{
id: '2',
title: '选项2',
parentId: '0',
active: false,
children: [
{
id: '2-1',
title: '选项2-1',
parentId: '2',
active: false,
},
{
id: '2-2',
title: '选项2-2',
parentId: '2',
active: true,
}
]
}
]
findTree(data, { parentId: '2', active: true }, (item, index, array, path) => {
console.log(item)
console.log(index)
console.log(array)
console.log(path)
})
json
{
"id": "2-2",
"title": "选项2-2",
"parentId": "2",
"active": true
}
json
1
json
[
{
"id": "2-1",
"title": "选项2-1",
"parentId": "2",
"active": false
},
{
"id": "2-2",
"title": "选项2-2",
"parentId": "2",
"active": true
}
]
json
[
{
"id": "2",
"title": "选项2",
"parentId": "0",
"active": false,
"children": [
{
"id": "2-1",
"title": "选项2-1",
"parentId": "2",
"active": false
},
{
"id": "2-2",
"title": "选项2-2",
"parentId": "2",
"active": true
}
]
},
{
"id": "2-2",
"title": "选项2-2",
"parentId": "2",
"active": true
}
]