11// import { construct } from "core-js/fn/reflect"
22
3- const TREE_DATA = { selected : false , partialSelected : false }
3+ const TREE_DATA = { selected : false , partialSelected : false , expanded : false }
44class TreeData {
55 constructor ( data ) {
66 this . data = { ...TREE_DATA , ...data }
@@ -16,6 +16,9 @@ class TreeData{
1616 isSelected ( ) {
1717 return this ?. data ?. selected ?? false
1818 }
19+ isExpanded ( ) {
20+ return this ?. data ?. expanded ?? false
21+ }
1922 isPartialSelected ( ) {
2023 return this ?. data ?. partialSelected ?? false
2124 }
@@ -167,6 +170,15 @@ export default {
167170 }
168171 } )
169172 } ,
173+ refreshExpandedDown ( node ) {
174+ // eslint-disable-next-line no-debugger
175+ // debugger
176+ const expanded = node . isExpanded ( )
177+ node ?. children . forEach ( ( child ) => {
178+ Object . assign ( child . data , { expanded} )
179+ this . refreshExpandedDown ( child )
180+ } )
181+ } ,
170182 refreshUp ( { parent} ) {
171183 if ( ! parent ) return
172184 const toState = parent . isAllChildrenSelected ( )
@@ -176,7 +188,7 @@ export default {
176188 this . refreshUp ( parent )
177189 } ,
178190 refreshDown ( node ) {
179- const toState = node . isSelected ( )
191+ const toState = node . isSelected ( ) // 这里的名称需要换掉 nodeData 避免混淆
180192 node ?. children . forEach ( ( child ) => {
181193 const fromState = child . isSelected ( )
182194 if ( fromState === toState ) {
0 commit comments