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 3
3
const TREE_DATA = { selected : false , partialSelected : false , expanded : false }
4
4
class TreeData {
5
5
constructor ( data ) {
6
+ console . log ( data )
6
7
this . data = { ...TREE_DATA , ...data }
7
8
this . children = [ ]
8
9
}
@@ -123,12 +124,12 @@ const demeData = [
123
124
}
124
125
]
125
126
126
- const generateNode = ( data ) => {
127
+ const generateNode = ( data , props ) => {
127
128
const { children, ...rest } = data
128
- const node = new TreeData ( rest )
129
+ const node = new TreeData ( { ... rest , ... props } ) // TODO 初始化带有 expandedAll
129
130
children . forEach ( ( child ) => {
130
131
// eslint-disable-next-line no-debugger
131
- node . addChild ( generateNode ( child ) )
132
+ node . addChild ( generateNode ( child , props ) )
132
133
} )
133
134
return node
134
135
}
@@ -140,15 +141,25 @@ export default {
140
141
components : {
141
142
TreeNode
142
143
} ,
144
+ props : {
145
+ expandedAll : {
146
+ type : Boolean ,
147
+ default : true
148
+ } ,
149
+ checkStrictly : {
150
+ type : Boolean ,
151
+ default : false
152
+ }
153
+ } ,
143
154
data ( ) {
144
155
const dataOrr = {
145
156
children : demeData
146
157
}
158
+
147
159
return {
148
160
// isTree: true,
149
161
dataMap : { } ,
150
- root : generateNode ( dataOrr )
151
-
162
+ root : generateNode ( dataOrr , { expanded : this . expandedAll } )
152
163
}
153
164
} ,
154
165
created ( ) {
@@ -157,6 +168,7 @@ export default {
157
168
} ,
158
169
methods : {
159
170
walk ( root = this . root ) {
171
+ if ( this . checkStrictly ) return
160
172
const { children = [ ] } = root
161
173
children ?. forEach ( child => {
162
174
const { data } = child
Original file line number Diff line number Diff line change @@ -38,6 +38,9 @@ export default {
38
38
methods : {
39
39
selectToggle ( node ) {
40
40
Object . assign ( node . data , { selected : ! node . isSelected ( ) , partialSelected : false } )
41
+ if ( this . tree . checkStrictly ) {
42
+ return
43
+ }
41
44
this . tree . refreshUp ( node )
42
45
this . tree . refreshDown ( node )
43
46
} ,
@@ -61,7 +64,6 @@ export default {
61
64
62
65
render ( ) {
63
66
const { node, level } = this
64
- console . log ( node )
65
67
const currentNode = this . nodeView ( node , level )
66
68
return ( < div >
67
69
{ currentNode }
You can’t perform that action at this time.
0 commit comments