File tree Expand file tree Collapse file tree 2 files changed +20
-6
lines changed
Expand file tree Collapse file tree 2 files changed +20
-6
lines changed Original file line number Diff line number Diff line change 33const TREE_DATA = { selected : false , partialSelected : false , expanded : false }
44class TreeData {
55 constructor ( data ) {
6+ console . log ( data )
67 this . data = { ...TREE_DATA , ...data }
78 this . children = [ ]
89 }
@@ -123,12 +124,12 @@ const demeData = [
123124 }
124125]
125126
126- const generateNode = ( data ) => {
127+ const generateNode = ( data , props ) => {
127128 const { children, ...rest } = data
128- const node = new TreeData ( rest )
129+ const node = new TreeData ( { ... rest , ... props } ) // TODO 初始化带有 expandedAll
129130 children . forEach ( ( child ) => {
130131 // eslint-disable-next-line no-debugger
131- node . addChild ( generateNode ( child ) )
132+ node . addChild ( generateNode ( child , props ) )
132133 } )
133134 return node
134135}
@@ -140,15 +141,25 @@ export default {
140141 components : {
141142 TreeNode
142143 } ,
144+ props : {
145+ expandedAll : {
146+ type : Boolean ,
147+ default : true
148+ } ,
149+ checkStrictly : {
150+ type : Boolean ,
151+ default : false
152+ }
153+ } ,
143154 data ( ) {
144155 const dataOrr = {
145156 children : demeData
146157 }
158+
147159 return {
148160 // isTree: true,
149161 dataMap : { } ,
150- root : generateNode ( dataOrr )
151-
162+ root : generateNode ( dataOrr , { expanded : this . expandedAll } )
152163 }
153164 } ,
154165 created ( ) {
@@ -157,6 +168,7 @@ export default {
157168 } ,
158169 methods : {
159170 walk ( root = this . root ) {
171+ if ( this . checkStrictly ) return
160172 const { children = [ ] } = root
161173 children ?. forEach ( child => {
162174 const { data } = child
Original file line number Diff line number Diff line change @@ -38,6 +38,9 @@ export default {
3838 methods : {
3939 selectToggle ( node ) {
4040 Object . assign ( node . data , { selected : ! node . isSelected ( ) , partialSelected : false } )
41+ if ( this . tree . checkStrictly ) {
42+ return
43+ }
4144 this . tree . refreshUp ( node )
4245 this . tree . refreshDown ( node )
4346 } ,
@@ -61,7 +64,6 @@ export default {
6164
6265 render ( ) {
6366 const { node, level } = this
64- console . log ( node )
6567 const currentNode = this . nodeView ( node , level )
6668 return ( < div >
6769 { currentNode }
You can’t perform that action at this time.
0 commit comments