树结构过滤(查找)数据,父级一起带出来。
搜索到的结果
直接上代码。。。。
/**
* @author 过滤数据
* @param {*} value
* @param {*} arr
* @return {*} []
*/
const TreeDataList = (value:any = '', arr:any) => {
if (!arr) {
return []
}
let newList:any[] = [];
arr.forEach((item:any) => {
if (item.title1.indexOf(value) > -1) {
const Children = TreeDataList(value, item.children);
const obj = {
...item,
children: Children
}
console.log(item,obj,Children);
newList.push(obj);
} else {
if (item.children && item.children.length > 0) {
const Children = TreeDataList(value, item.children);
const obj = {
...item,
children: Children
};
if (Children && Children.length > 0) {
newList.push(obj);
}
}
}
});
return newList;
};