fix tree bugs

pull/34/head
Leopoldthecoder 2016-09-08 11:37:30 +08:00
parent 0b91eafb1b
commit 01138a5bf7
2 changed files with 12 additions and 4 deletions

View File

@ -9,10 +9,10 @@ const reInitChecked = function(node) {
for (let i = 0, j = siblings.length; i < j; i++) { for (let i = 0, j = siblings.length; i < j; i++) {
const sibling = siblings[i]; const sibling = siblings[i];
if (sibling.checked !== true) { if (sibling.checked !== true || sibling.indeterminate) {
all = false; all = false;
} }
if (sibling.checked !== false) { if (sibling.checked !== false || sibling.indeterminate) {
none = false; none = false;
} }
} }

View File

@ -6,7 +6,7 @@
<span class="el-tree-node__expand-icon" <span class="el-tree-node__expand-icon"
:class="{ 'is-leaf': node.isLeaf, expanded: !node.isLeaf && expanded }" :class="{ 'is-leaf': node.isLeaf, expanded: !node.isLeaf && expanded }"
></span> ></span>
<el-checkbox v-if="showCheckbox" :indeterminate="node.indeterminate" v-model="node.checked" @change="handleCheckChange"></el-checkbox> <el-checkbox v-if="showCheckbox" :indeterminate="node.indeterminate" v-model="node.checked" @change="handleCheckChange" @click.native="handleUserClick"></el-checkbox>
<span <span
v-if="node.loading" v-if="node.loading"
class="el-tree-node__icon el-icon-loading" class="el-tree-node__icon el-icon-loading"
@ -67,9 +67,17 @@
} }
}, },
handleUserClick() {
if (this.node.indeterminate) {
this.node.setChecked(this.node.checked, true);
}
},
handleCheckChange(checked) { handleCheckChange(checked) {
if (!this.node.indeterminate) {
this.node.setChecked(checked, true); this.node.setChecked(checked, true);
} }
}
}, },
created() { created() {