@@ -58,8 +58,9 @@ const isMatch = (target: string, searchValue: string) => {
5858function 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