1
- import { defineComponent , watch , ref , shallowRef , PropType , h , watchEffect } from 'vue' ;
1
+ import { defineComponent , watch , ref , shallowRef , PropType , h } from 'vue' ;
2
2
import { cloneDeep } from 'lodash-es' ;
3
3
import { NodeKey , TreeNodeInstance , TreeNodeOptions , TypeWithNull , TypeWithUndefined } from "./types" ;
4
4
@@ -63,6 +63,7 @@ export default defineComponent({
63
63
watch ( ( ) => props . defaultExpandedKeys , newVal => {
64
64
service . resetDefaultExpandedKeys ( newVal ) ;
65
65
service . expandedKeys . value . clear ( ) ;
66
+ service . expandedKeys . value . select ( ...newVal ) ;
66
67
flatList . value = service . flattenTree ( props . source , props . defaultSelectedKey , props . defaultCheckedKeys , props . defaultExpandedKeys , props . defaultDisabledKeys ) ;
67
68
} ) ;
68
69
@@ -82,7 +83,6 @@ export default defineComponent({
82
83
} ) ;
83
84
84
85
watch ( ( ) => props . defaultCheckedKeys , newVal => {
85
-
86
86
const targets = flatList . value . filter ( item => newVal . includes ( item . nodeKey ) ) ;
87
87
// console.log('watch defaultCheckedKeys:>> ', targets);
88
88
service . resetDefaultCheckedKeys ( newVal ) ;
@@ -115,7 +115,6 @@ export default defineComponent({
115
115
if ( ! checked ) {
116
116
service . removeDefaultCheckedKeys ( node ) ;
117
117
}
118
-
119
118
if ( ! props . checkStrictly ) {
120
119
service . updateDownwards ( checked , node ) ;
121
120
service . updateUpwards ( node , flatList . value ) ;
@@ -125,33 +124,14 @@ export default defineComponent({
125
124
126
125
const expandNode = ( node : Required < TreeNodeOptions > , children : TreeNodeOptions [ ] = [ ] ) => {
127
126
const trueChildren = children . length ? children : cloneDeep ( node . children ) ! ;
128
- node . children = ( trueChildren as Required < TreeNodeOptions > [ ] ) . map ( item => {
129
- item . loading = false ;
130
- item . level = item . level || node . level ! + 1 ;
131
- item . children = item . children || [ ] ;
132
- item . hasChildren = item . hasChildren || false ;
133
- item . parentKey = node . nodeKey || null ;
134
-
135
- if ( props . defaultDisabledKeys . includes ( item . nodeKey ) ) {
136
- service . disabledKeys . value . select ( item . nodeKey ) ;
137
- }
138
-
139
- const selectedKey = service . selectedNodes . value . selected [ 0 ] ?. nodeKey || service . defaultSelectedKey ;
140
- if ( selectedKey === item . nodeKey ) {
141
- service . selectedNodes . value . select ( item as Required < TreeNodeOptions > ) ;
142
- }
143
-
144
- const allCheckedKeys = service . checkedNodes . value . selected . map ( item => item . nodeKey ) . concat ( service . defaultCheckedKeys ) ;
145
- if ( allCheckedKeys . includes ( item . nodeKey ) || ( ! props . checkStrictly && service . checkedNodes . value . isSelected ( node ) ) ) {
146
- service . checkedNodes . value . select ( item as Required < TreeNodeOptions > ) ;
147
- }
148
-
149
- const allExpandedKeys = service . expandedKeys . value . selected . concat ( service . defaultExpandedKeys ) ;
150
- if ( allExpandedKeys . includes ( item . nodeKey ) ) {
151
- service . expandedKeys . value . select ( item . nodeKey ) ;
152
- }
153
- return item ;
154
- } ) ;
127
+ const selectedKey = service . selectedNodes . value . selected [ 0 ] ?. nodeKey || service . defaultSelectedKey ;
128
+ const allExpandedKeys = service . expandedKeys . value . selected . concat ( service . defaultExpandedKeys ) ;
129
+ const allCheckedKeys = service . checkedNodes . value . selected . map ( item => item . nodeKey ) . concat ( service . defaultCheckedKeys ) ;
130
+ if ( service . checkedNodes . value . isSelected ( node ) ) {
131
+ allCheckedKeys . push ( ...trueChildren . map ( item => item . nodeKey ) ) ;
132
+ }
133
+ // console.log('allCheckedKeys', allCheckedKeys);
134
+ node . children = service . flattenTree ( trueChildren , selectedKey , allCheckedKeys , allExpandedKeys , props . defaultDisabledKeys , node ) ;
155
135
const targetIndex = flatList . value . findIndex ( item => item . nodeKey === node . nodeKey ) ;
156
136
flatList . value . splice ( targetIndex + 1 , 0 , ...( node . children as Required < TreeNodeOptions > [ ] ) ) ;
157
137
}
0 commit comments