Skip to content

Commit 09d45f9

Browse files
committed
fix:searchTree bug
1 parent 0f48638 commit 09d45f9

1 file changed

Lines changed: 9 additions & 4 deletions

File tree

chat2db-client/src/blocks/Tree/index.tsx

Lines changed: 9 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -58,8 +58,9 @@ const isMatch = (target: string, searchValue: string) => {
5858
function searchTree(treeData: ITreeNode[], searchValue: string): ITreeNode[] {
5959
let result: ITreeNode[] = [];
6060
function dfs(node: ITreeNode, path: ITreeNode[] = []) {
61+
console.log(node.name, searchValue, isMatch(node.name, searchValue));
6162
if (isMatch(node.name, searchValue)) {
62-
result = [...path, node];
63+
result = [...result,...path, node];
6364
return true;
6465
}
6566
if (!node.children) return false;
@@ -69,7 +70,9 @@ function searchTree(treeData: ITreeNode[], searchValue: string): ITreeNode[] {
6970
return false;
7071
}
7172

72-
treeData.some((node) => dfs(node));
73+
treeData.forEach((node) => dfs(node));
74+
75+
console.log(result,'result')
7376

7477
result.forEach((item) => {
7578
if(!isMatch(item.name, searchValue)){
@@ -124,12 +127,14 @@ const Tree = (props: IProps) => {
124127

125128
useEffect(() => {
126129
if (searchValue && treeData) {
127-
setSearchTreeData(searchTree(cloneDeep(treeData), searchValue));
130+
const _searchTreeData = searchTree(cloneDeep(treeData), searchValue)
131+
console.log(_searchTreeData)
132+
setSearchTreeData(_searchTreeData);
128133
} else {
129134
setSearchTreeData(null);
130135
}
131136
setScrollTop(0);
132-
}, [searchValue, smoothTreeData]);
137+
}, [searchValue, smoothTreeData,treeData]);
133138

134139
return (
135140
<LoadingContent isLoading={!treeData} className={classnames(className)}>

0 commit comments

Comments
 (0)