From 3c145e6ffeb2628b24a9c8fd75f2a89bdf4cd793 Mon Sep 17 00:00:00 2001 From: 梁灏 Date: Fri, 24 Mar 2017 21:06:49 +0800 Subject: [PATCH] update Tree --- src/components/tree/node.vue | 12 +++++++++--- src/components/tree/tree.vue | 23 ++++++++++------------- 2 files changed, 19 insertions(+), 16 deletions(-) diff --git a/src/components/tree/node.vue b/src/components/tree/node.vue index f79b5a9..49b8b46 100644 --- a/src/components/tree/node.vue +++ b/src/components/tree/node.vue @@ -66,7 +66,7 @@ classes () { return [ `${prefixCls}-children` - ] + ]; }, selectedCls () { return [ @@ -112,7 +112,13 @@ }, handleCheck () { if (this.disabled) return; - this.data.checked = !this.data.checked; + const checked = !this.data.checked; + if (!checked || this.indeterminate) { + findComponentsDownward(this, 'TreeNode').forEach(node => node.data.checked = false); + } else { + findComponentsDownward(this, 'TreeNode').forEach(node => node.data.checked = true); + } + this.data.checked = checked; this.dispatch('Tree', 'checked'); }, setIndeterminate () { @@ -126,7 +132,7 @@ mounted () { this.$on('indeterminate', () => { this.setIndeterminate(); - }) + }); } }; \ No newline at end of file diff --git a/src/components/tree/tree.vue b/src/components/tree/tree.vue index e59f22c..a9a6de3 100644 --- a/src/components/tree/tree.vue +++ b/src/components/tree/tree.vue @@ -1,7 +1,7 @@