File tree 2 files changed +2
-2
lines changed
2 files changed +2
-2
lines changed Original file line number Diff line number Diff line change @@ -836,7 +836,6 @@ class Tree extends React.Component<TreeProps, TreeState> {
836
836
expandedKeys = arrDel ( expandedKeys , key ) ;
837
837
}
838
838
839
- // TODO: optimize big data flatten logic
840
839
const flattenNodes : FlattenNode [ ] = flattenTreeData ( treeData , expandedKeys ) ;
841
840
this . setUncontrolledState ( { expandedKeys, flattenNodes } , true ) ;
842
841
Original file line number Diff line number Diff line change @@ -95,6 +95,7 @@ export function flattenTreeData(
95
95
treeNodeList : DataNode [ ] = [ ] ,
96
96
expandedKeys : Key [ ] | true = [ ] ,
97
97
) : FlattenNode [ ] {
98
+ const expandedKeySet = new Set ( expandedKeys === true ? [ ] : expandedKeys ) ;
98
99
const flattenList : FlattenNode [ ] = [ ] ;
99
100
100
101
function dig ( list : DataNode [ ] , parent : FlattenNode = null ) : FlattenNode [ ] {
@@ -116,7 +117,7 @@ export function flattenTreeData(
116
117
flattenList . push ( flattenNode ) ;
117
118
118
119
// Loop treeNode children
119
- if ( expandedKeys === true || expandedKeys . includes ( mergedKey ) ) {
120
+ if ( expandedKeys === true || expandedKeySet . has ( mergedKey ) ) {
120
121
flattenNode . children = dig ( treeNode . children || [ ] , flattenNode ) ;
121
122
} else {
122
123
flattenNode . children = [ ] ;
You can’t perform that action at this time.
0 commit comments