@@ -104,12 +104,16 @@ export default defineComponent({
104
104
dragOverNodeKey : null ,
105
105
} ) ;
106
106
const treeData = shallowRef ( [ ] ) ;
107
- watchEffect ( ( ) => {
108
- treeData . value =
109
- props . treeData !== undefined
110
- ? toRaw ( props . treeData )
111
- : convertTreeToData ( toRaw ( props . children ) ) ;
112
- } ) ;
107
+ watch (
108
+ [ ( ) => props . treeData , ( ) => props . children ] ,
109
+ ( ) => {
110
+ treeData . value =
111
+ props . treeData !== undefined
112
+ ? toRaw ( props . treeData )
113
+ : convertTreeToData ( toRaw ( props . children ) ) ;
114
+ } ,
115
+ { immediate : true , deep : true } ,
116
+ ) ;
113
117
const keyEntities = shallowRef ( { } ) ;
114
118
115
119
const focused = ref ( false ) ;
@@ -143,7 +147,7 @@ export default defineComponent({
143
147
144
148
watchEffect ( ( ) => {
145
149
if ( treeData . value ) {
146
- const entitiesMap = convertDataToEntities ( toRaw ( treeData . value ) , {
150
+ const entitiesMap = convertDataToEntities ( treeData . value , {
147
151
fieldNames : fieldNames . value ,
148
152
} ) ;
149
153
keyEntities . value = {
@@ -190,19 +194,15 @@ export default defineComponent({
190
194
// ================ flattenNodes =================
191
195
const flattenNodes = shallowRef ( [ ] ) ;
192
196
watchEffect ( ( ) => {
193
- flattenNodes . value = flattenTreeData (
194
- toRaw ( treeData . value ) ,
195
- toRaw ( expandedKeys . value ) ,
196
- fieldNames . value ,
197
- ) ;
197
+ flattenNodes . value = flattenTreeData ( treeData . value , expandedKeys . value , fieldNames . value ) ;
198
198
} ) ;
199
199
// ================ selectedKeys =================
200
200
watchEffect ( ( ) => {
201
201
if ( props . selectable ) {
202
202
if ( props . selectedKeys !== undefined ) {
203
- selectedKeys . value = calcSelectedKeys ( toRaw ( props . selectedKeys ) , props ) ;
203
+ selectedKeys . value = calcSelectedKeys ( props . selectedKeys , props ) ;
204
204
} else if ( ! init && props . defaultSelectedKeys ) {
205
- selectedKeys . value = calcSelectedKeys ( toRaw ( props . defaultSelectedKeys ) , props ) ;
205
+ selectedKeys . value = calcSelectedKeys ( props . defaultSelectedKeys , props ) ;
206
206
}
207
207
}
208
208
} ) ;
@@ -213,12 +213,12 @@ export default defineComponent({
213
213
let checkedKeyEntity ;
214
214
215
215
if ( props . checkedKeys !== undefined ) {
216
- checkedKeyEntity = parseCheckedKeys ( toRaw ( props . checkedKeys ) ) || { } ;
216
+ checkedKeyEntity = parseCheckedKeys ( props . checkedKeys ) || { } ;
217
217
} else if ( ! init && props . defaultCheckedKeys ) {
218
- checkedKeyEntity = parseCheckedKeys ( toRaw ( props . defaultCheckedKeys ) ) || { } ;
218
+ checkedKeyEntity = parseCheckedKeys ( props . defaultCheckedKeys ) || { } ;
219
219
} else if ( treeData . value ) {
220
220
// If `treeData` changed, we also need check it
221
- checkedKeyEntity = parseCheckedKeys ( toRaw ( props . checkedKeys ) ) || {
221
+ checkedKeyEntity = parseCheckedKeys ( props . checkedKeys ) || {
222
222
checkedKeys : checkedKeys . value ,
223
223
halfCheckedKeys : halfCheckedKeys . value ,
224
224
} ;
0 commit comments