Skip to content

Commit d97555b

Browse files
dive2Proziyoung
authored andcommitted
Tree: fixed default-checked-keys display wrong (#13349)
* fix: 12383 Tree in lazy mode set child node 'default-checked-keys', display wrong:All nodes are fulfilled * 添加测试 * fix code style * update style
1 parent 9738054 commit d97555b

File tree

2 files changed

+31
-0
lines changed

2 files changed

+31
-0
lines changed

packages/tree/src/model/node.js

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -465,6 +465,7 @@ export default class Node {
465465
this.doCreateChildren(children, defaultProps);
466466

467467
this.updateLeafState();
468+
reInitChecked(this);
468469
if (callback) {
469470
callback.call(this, children);
470471
}

test/unit/specs/tree.spec.js

Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -299,6 +299,36 @@ describe('Tree', () => {
299299
expect(vm.$el.querySelectorAll('.el-checkbox .is-checked').length).to.equal(1);
300300
});
301301

302+
it('defaultCheckedKeys & lazy, checked children length as expected', () => {
303+
vm = getTreeVm(':load="loadNode" :props="defaultProps" :default-checked-keys="defaultCheckedKeys" node-key="id" :default-expanded-keys="[1]" lazy show-checkbox ', {
304+
created() {
305+
this.defaultCheckedKeys = [2, 3];
306+
},
307+
methods: {
308+
loadNode(node, resolve) {
309+
if (node.level === 0) {
310+
return resolve([{ label: 'head', id: 1} ]);
311+
}
312+
return resolve([
313+
{
314+
label: '#1',
315+
id: 2
316+
},
317+
{
318+
label: '#3',
319+
id: 3
320+
},
321+
{
322+
label: '$4',
323+
id: 5
324+
}
325+
]);
326+
}
327+
}
328+
});
329+
expect(vm.$el.querySelectorAll('.el-checkbox.is-checked').length).to.equal(2);
330+
});
331+
302332
it('show checkbox', done => {
303333
vm = getTreeVm(':props="defaultProps" show-checkbox');
304334
const tree = vm.$children[0];

0 commit comments

Comments
 (0)