@@ -127,7 +127,7 @@ export default {
127127 _preorder (nodes , callback ) {
128128 if (! nodes .length ) return null
129129 const { children } = this .defaultProps
130- let stack = [ ... nodes]
130+ let stack = nodes . slice ()
131131 while (stack .length ) {
132132 const curr = stack .shift ()
133133 if (callback (curr)) return curr
@@ -143,7 +143,7 @@ export default {
143143 _levelOrder (nodes , callback ) {
144144 if (! nodes .length ) return null
145145 const { children } = this .defaultProps
146- let queue = [ ... nodes]
146+ let queue = nodes . slice ()
147147 while (queue .length ) {
148148 let len = queue .length
149149 while (len-- ) {
@@ -193,16 +193,16 @@ export default {
193193 let checkedNum = 0 , anyOne = false
194194 arr .forEach (item => {
195195 this ._initNode (item, parent)
196- checkedNum += + item .checked
197196 item[children].length && dfs (item[children], item)
198197 item .expand && parent && (parent .expand = true )
198+ checkedNum += + item .checked
199199 if (item .indeterminate ) anyOne = true
200200 })
201201 if (parent) {
202202 // 子节点是否全选 || 子节点的叶子节点全部选中
203- parent .checked = checkedNum === arr .length || ! this . _levelOrder (arr, item => ! item . checked )
203+ parent .checked = checkedNum === arr .length
204204 // 子节点有一个是半选 || 被选中的节点不为零并且被选中的节点不等于子节点长度 || 该节点不是全选并且子节点中任意一个被选中
205- parent .indeterminate = anyOne || (!! checkedNum && checkedNum !== arr .length ) || ( ! parent . checked && !! this . _preorder (arr, item => item . checked ))
205+ parent .indeterminate = anyOne || (!! checkedNum && checkedNum !== arr .length )
206206 }
207207 }
208208 dfs (this .sourceData )
0 commit comments