From d97555bdde318f661e4b7b9fa8f084a3ef5582ac Mon Sep 17 00:00:00 2001 From: dive2Pro Date: Tue, 13 Nov 2018 10:31:22 +0800 Subject: [PATCH] Tree: fixed `default-checked-keys` display wrong (#13349) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * fix: 12383 Tree in lazy mode set child node 'default-checked-keys', display wrong:All nodes are fulfilled * 添加测试 * fix code style * update style --- packages/tree/src/model/node.js | 1 + test/unit/specs/tree.spec.js | 30 ++++++++++++++++++++++++++++++ 2 files changed, 31 insertions(+) diff --git a/packages/tree/src/model/node.js b/packages/tree/src/model/node.js index 85ffa388b..8e62a709d 100644 --- a/packages/tree/src/model/node.js +++ b/packages/tree/src/model/node.js @@ -465,6 +465,7 @@ export default class Node { this.doCreateChildren(children, defaultProps); this.updateLeafState(); + reInitChecked(this); if (callback) { callback.call(this, children); } diff --git a/test/unit/specs/tree.spec.js b/test/unit/specs/tree.spec.js index 86bef43df..a79c096e2 100644 --- a/test/unit/specs/tree.spec.js +++ b/test/unit/specs/tree.spec.js @@ -299,6 +299,36 @@ describe('Tree', () => { expect(vm.$el.querySelectorAll('.el-checkbox .is-checked').length).to.equal(1); }); + it('defaultCheckedKeys & lazy, checked children length as expected', () => { + vm = getTreeVm(':load="loadNode" :props="defaultProps" :default-checked-keys="defaultCheckedKeys" node-key="id" :default-expanded-keys="[1]" lazy show-checkbox ', { + created() { + this.defaultCheckedKeys = [2, 3]; + }, + methods: { + loadNode(node, resolve) { + if (node.level === 0) { + return resolve([{ label: 'head', id: 1} ]); + } + return resolve([ + { + label: '#1', + id: 2 + }, + { + label: '#3', + id: 3 + }, + { + label: '$4', + id: 5 + } + ]); + } + } + }); + expect(vm.$el.querySelectorAll('.el-checkbox.is-checked').length).to.equal(2); + }); + it('show checkbox', done => { vm = getTreeVm(':props="defaultProps" show-checkbox'); const tree = vm.$children[0];