@@ -104,12 +104,16 @@ export default defineComponent({
104104 dragOverNodeKey : null ,
105105 } ) ;
106106 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+ ) ;
113117 const keyEntities = shallowRef ( { } ) ;
114118
115119 const focused = ref ( false ) ;
@@ -143,7 +147,7 @@ export default defineComponent({
143147
144148 watchEffect ( ( ) => {
145149 if ( treeData . value ) {
146- const entitiesMap = convertDataToEntities ( toRaw ( treeData . value ) , {
150+ const entitiesMap = convertDataToEntities ( treeData . value , {
147151 fieldNames : fieldNames . value ,
148152 } ) ;
149153 keyEntities . value = {
@@ -190,19 +194,15 @@ export default defineComponent({
190194 // ================ flattenNodes =================
191195 const flattenNodes = shallowRef ( [ ] ) ;
192196 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 ) ;
198198 } ) ;
199199 // ================ selectedKeys =================
200200 watchEffect ( ( ) => {
201201 if ( props . selectable ) {
202202 if ( props . selectedKeys !== undefined ) {
203- selectedKeys . value = calcSelectedKeys ( toRaw ( props . selectedKeys ) , props ) ;
203+ selectedKeys . value = calcSelectedKeys ( props . selectedKeys , props ) ;
204204 } else if ( ! init && props . defaultSelectedKeys ) {
205- selectedKeys . value = calcSelectedKeys ( toRaw ( props . defaultSelectedKeys ) , props ) ;
205+ selectedKeys . value = calcSelectedKeys ( props . defaultSelectedKeys , props ) ;
206206 }
207207 }
208208 } ) ;
@@ -213,12 +213,12 @@ export default defineComponent({
213213 let checkedKeyEntity ;
214214
215215 if ( props . checkedKeys !== undefined ) {
216- checkedKeyEntity = parseCheckedKeys ( toRaw ( props . checkedKeys ) ) || { } ;
216+ checkedKeyEntity = parseCheckedKeys ( props . checkedKeys ) || { } ;
217217 } else if ( ! init && props . defaultCheckedKeys ) {
218- checkedKeyEntity = parseCheckedKeys ( toRaw ( props . defaultCheckedKeys ) ) || { } ;
218+ checkedKeyEntity = parseCheckedKeys ( props . defaultCheckedKeys ) || { } ;
219219 } else if ( treeData . value ) {
220220 // If `treeData` changed, we also need check it
221- checkedKeyEntity = parseCheckedKeys ( toRaw ( props . checkedKeys ) ) || {
221+ checkedKeyEntity = parseCheckedKeys ( props . checkedKeys ) || {
222222 checkedKeys : checkedKeys . value ,
223223 halfCheckedKeys : halfCheckedKeys . value ,
224224 } ;
0 commit comments