@@ -152,7 +152,7 @@ const Tree = (props: IProps) => {
152152 const treeNodes = useMemo ( ( ) => {
153153 const realNodeList = ( searchSmoothTreeData || smoothTreeData ) . slice ( startIdx , startIdx + 50 ) ;
154154 return realNodeList . map ( ( item ) => {
155- return < TreeNode key = { item . key } level = { item . level || 0 } data = { item } /> ;
155+ return < TreeNode key = { item . uuid } level = { item . level || 0 } data = { item } /> ;
156156 } ) ;
157157 } , [ smoothTreeData , searchSmoothTreeData , startIdx ] ) ;
158158
@@ -166,7 +166,6 @@ const Tree = (props: IProps) => {
166166 }
167167 } , [ searchValue ] ) ;
168168
169-
170169 return (
171170 < LoadingContent isLoading = { ! treeData } className = { classnames ( className ) } >
172171 < Context . Provider
@@ -230,7 +229,6 @@ const TreeNode = memo((props: TreeNodeIProps) => {
230229 if ( searchTreeData ) {
231230 insertData ( searchTreeData ! , _treeNodeData . uuid ! , res . data , [ searchTreeData , setSearchTreeData ] ) ;
232231 }
233- // TODO:
234232 if ( res . hasNextPage ) {
235233 loadData ( {
236234 refresh : _props ?. refresh || false ,
@@ -277,14 +275,11 @@ const TreeNode = memo((props: TreeNodeIProps) => {
277275 data . map ( ( item : any ) => {
278276 item . parentNode = result ;
279277 } ) ;
280- // result.children = [...(result.children || []), ...(data || [])];
281- result . children = [ ...( data || [ ] ) ] ;
278+ result . children = [ ...( result . children || [ ] ) , ...( data || [ ] ) ] ;
282279 } else {
283280 result . children = null ;
284281 }
285- // result.expanded = !!data;
286- // 这里没写错 就是要改变treeData的引用
287- setOriginalData ?.( [ ...( originalData || [ ] ) ] ) ;
282+ setOriginalData ?.( cloneDeep ( [ ...( originalData || [ ] ) ] ) ) ;
288283 break ;
289284 } else {
290285 if ( _treeData [ i ] . children ) {
@@ -300,7 +295,7 @@ const TreeNode = memo((props: TreeNodeIProps) => {
300295
301296 //展开-收起
302297 const handleClick = ( ) => {
303- if ( treeNodeData ?. children ?. length ) {
298+ if ( treeNodeData ?. children ) {
304299 insertData ( treeData ! , treeNodeData . uuid ! , null , [ treeData , setTreeData ] ) ;
305300 if ( searchTreeData ) {
306301 insertData ( searchTreeData ! , treeNodeData . uuid ! , null , [ searchTreeData , setSearchTreeData ] ) ;
@@ -359,7 +354,6 @@ const TreeNode = memo((props: TreeNodeIProps) => {
359354 label : < MenuLabel icon = { item . labelProps . icon } label = { item . labelProps . label } /> ,
360355 } ;
361356 } ) ;
362-
363357 return (
364358 < Dropdown
365359 trigger = { [ 'contextMenu' ] }
@@ -418,7 +412,7 @@ const TreeNode = memo((props: TreeNodeIProps) => {
418412 </ Tooltip >
419413 </ Dropdown >
420414 ) ;
421- } , [ isFocus , isLoading , rightClickMenu , searchTreeData ] ) ;
415+ } , [ isFocus , isLoading , rightClickMenu , treeNodeData . children ] ) ;
422416
423417 return treeNodeDom ;
424418} ) ;
0 commit comments