Commit c6dbd286 authored by hetech's avatar hetech Committed by GitHub

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

parent b49d84e1
......@@ -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;
......
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(() => {
const expandIcon = vm.$el.querySelector('.el-table__expand-icon');
expandIcon.click();
setTimeout(() => {
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);
await waitImmediate();
const expandIcon = vm.$el.querySelector('.el-table__expand-icon');
expandIcon.click();
await waitImmediate();
expect(expandIcon.classList.contains('el-table__expand-icon--expanded')).to.be.true;
expect(vm.$el.querySelectorAll('.el-table__row').length).to.equal(8);
});
});
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment