Table: fix load bug in lazy mode (#15101)

pull/15111/head
hetech 2019-04-12 19:06:29 +08:00 committed by GitHub
parent b49d84e182
commit c6dbd286e1
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 18 additions and 12 deletions

View File

@ -35,7 +35,7 @@ export default {
prev.push(item);
const rowKey = this.store.table.getRowKey(item);
const parent = this.store.states.treeData[rowKey];
if (parent && parent.children) {
if (parent && parent.children && parent.hasChildren) {
const tmp = [];
const traverse = (children) => {
if (!children) return;

View File

@ -1,4 +1,4 @@
import { createVue, triggerEvent, destroyVM } from '../util';
import { createVue, triggerEvent, destroyVM, waitImmediate } from '../util';
const DELAY = 10;
const testDataArr = [];
@ -1956,7 +1956,7 @@ describe('Table', () => {
}, DELAY);
});
it('load substree row data', (done) => {
it('load substree row data', async() => {
const vm = createVue({
template: `
<el-table :data="testData" row-key="release" lazy :load="load">
@ -1968,6 +1968,11 @@ describe('Table', () => {
`,
data() {
const testData = getTestData();
testData[testData.length - 1].children = [
{
name: 'A Bug\'s Life copy 1', release: '2008-1-25-1', director: 'John Lasseter', runtime: 95
}
];
testData[1].hasChildren = true;
return {
testData: testData
@ -1986,14 +1991,15 @@ describe('Table', () => {
}
}
}, true);
setTimeout(() => {
await waitImmediate();
const expandIcon = vm.$el.querySelector('.el-table__expand-icon');
expandIcon.click();
setTimeout(() => {
await waitImmediate();
expect(expandIcon.classList.contains('el-table__expand-icon--expanded')).to.be.true;
expect(vm.$el.querySelectorAll('.el-table__row').length).to.equal(7);
done();
}, DELAY);
}, DELAY);
expect(vm.$el.querySelectorAll('.el-table__row').length).to.equal(8);
});
});