@@ -247,10 +247,7 @@ export default san.defineComponent({
247247 if ( ! allKeys . checkedKeys . includes ( checkedKey ) ) {
248248 const treeNodeDataV = this . data . get ( 'isVirtual' )
249249 && this . data . get ( 'flatNodes' ) . find ( node => node . key === checkedKey ) ;
250- let keys = this . getChangedCheckedKeys ( checkedKey , true , [ ] , [ ] , checkStrictly , treeNodeDataV ) ;
251- // 这里需要对数据进行去重
252- allKeys . checkedKeys = Array . from ( new Set ( allKeys . checkedKeys . concat ( keys . checkedKeys ) ) ) ;
253- allKeys . halfCheckedKeys = Array . from ( new Set ( allKeys . halfCheckedKeys . concat ( keys . halfCheckedKeys ) ) ) ;
250+ allKeys = this . getChangedCheckedKeys ( checkedKey , true , allKeys . checkedKeys , allKeys . halfCheckedKeys , checkStrictly , treeNodeDataV ) ;
254251 }
255252 }
256253 return allKeys ;
@@ -287,8 +284,7 @@ export default san.defineComponent({
287284 && treeNodes . some ( node => {
288285 const key = node . data . get ( 'key' ) ;
289286 return checkedKeys . includes ( key ) || halfCheckedKeys . includes ( key ) ;
290- }
291- ) ;
287+ } ) ;
292288 // 如果子不是全选是半选,把父放到halfSelectedKeys里面
293289 halfCheckedKeys = toggleArrayData ( halfChecked , halfCheckedKeys , parentKey ) ;
294290 parent = parent . parentComponent ;
@@ -356,7 +352,7 @@ export default san.defineComponent({
356352 // 自动展开父节点
357353 autoExpand ( ) {
358354 let expandComponents = this . findExpandComponents ( ) ;
359- let expandedKeys = this . data . get ( 'expandedKeys' ) ;
355+ let expandedKeys = this . data . get ( 'expandedKeys' ) || [ ] ;
360356
361357 while ( expandComponents . length ) {
362358 let expand = expandComponents . pop ( ) ;
@@ -386,7 +382,7 @@ export default san.defineComponent({
386382 // 找所有展开的节点
387383 findExpandComponents ( ) {
388384 let expandComponents = [ ] ;
389- const expandedKeys = this . data . get ( 'expandedKeys' ) ;
385+ const expandedKeys = this . data . get ( 'expandedKeys' ) || [ ] ;
390386
391387 traverseNodesKey ( this . treeNodes , ( key , node ) => {
392388 if ( expandedKeys . includes ( key ) ) {
0 commit comments