Commit 0a8f9b43f6497c8dc0376e738b314304f12ed770
1 parent
d44420be
Keep original data pointers and correct if clause
Showing
1 changed file
with
3 additions
and
3 deletions
Show diff stats
src/components/tree/tree.vue
| ... | ... | @@ -44,13 +44,13 @@ |
| 44 | 44 | data () { |
| 45 | 45 | return { |
| 46 | 46 | prefixCls: prefixCls, |
| 47 | - stateTree: JSON.parse(JSON.stringify(this.data)), | |
| 47 | + stateTree: this.data, | |
| 48 | 48 | flatState: [], |
| 49 | 49 | }; |
| 50 | 50 | }, |
| 51 | 51 | watch: { |
| 52 | 52 | data(){ |
| 53 | - this.stateTree = JSON.parse(JSON.stringify(this.data)); | |
| 53 | + this.stateTree = this.data; | |
| 54 | 54 | this.flatState = this.compileFlatState(); |
| 55 | 55 | this.rebuildTree(); |
| 56 | 56 | } |
| ... | ... | @@ -109,7 +109,7 @@ |
| 109 | 109 | this.updateTreeDown(node, {checked: true}); |
| 110 | 110 | // propagate upwards |
| 111 | 111 | const parentKey = this.flatState[node.nodeKey].parent; |
| 112 | - if (!parentKey) return; | |
| 112 | + if (!parentKey && parentKey !== 0) return; | |
| 113 | 113 | const parent = this.flatState[parentKey].node; |
| 114 | 114 | const childHasCheckSetter = typeof node.checked != 'undefined' && node.checked; |
| 115 | 115 | if (childHasCheckSetter && parent.checked != node.checked) { | ... | ... |