Javascript 使用可排序树进行过滤
我正在使用react可排序树,希望能够进行筛选。我将从后端服务器获取过滤节点,然后在当前树上执行reduce以显示过滤节点。这部分工作正常,但当我取孩子时,我的树状态变得混乱,我怀疑这可能是由于javascript引用 代码如下: FilteredNodes来自服务器Javascript 使用可排序树进行过滤,javascript,reactjs,filtering,reduce,Javascript,Reactjs,Filtering,Reduce,我正在使用react可排序树,希望能够进行筛选。我将从后端服务器获取过滤节点,然后在当前树上执行reduce以显示过滤节点。这部分工作正常,但当我取孩子时,我的树状态变得混乱,我怀疑这可能是由于javascript引用 代码如下: FilteredNodes来自服务器 static filterNodes = (map, processingStatuses, filteredNodes) => (newTree, node) => { const docNode = clo
static filterNodes = (map, processingStatuses, filteredNodes) => (newTree, node) => {
const docNode = cloneDeep(TreeUtils.docNodeFromTreeNode(map, node));
const thisNodePasses = filteredNodes.findIndex(findNode => findNode.id === docNode.id);
if (thisNodePasses >= 0) {
newTree.push({ ...node });
return newTree;
}
if (docNode.children && docNode.children.length) {
const filteredChildren = docNode.children.reduce(
FilterUtils.filterNodes(map, processingStatuses, filteredNodes),
[],
);
if (filteredChildren.length) {
newTree.push({
...node,
children: [...filteredChildren],
});
}
}
return newTree;
}
我应该如何处理过滤
static getFilteredTree = (tree, map, processingStatuses, filteredNodes) => {
return filteredNodes.length ?
tree.reduce(FilterUtils.filterNodes(map, processingStatuses, filteredNodes), []) : tree;
}