mirror of https://github.com/ElemeFE/element
Table: fix load bug in lazy mode (#15101)
parent
b49d84e182
commit
c6dbd286e1
|
@ -35,7 +35,7 @@ export default {
|
||||||
prev.push(item);
|
prev.push(item);
|
||||||
const rowKey = this.store.table.getRowKey(item);
|
const rowKey = this.store.table.getRowKey(item);
|
||||||
const parent = this.store.states.treeData[rowKey];
|
const parent = this.store.states.treeData[rowKey];
|
||||||
if (parent && parent.children) {
|
if (parent && parent.children && parent.hasChildren) {
|
||||||
const tmp = [];
|
const tmp = [];
|
||||||
const traverse = (children) => {
|
const traverse = (children) => {
|
||||||
if (!children) return;
|
if (!children) return;
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
import { createVue, triggerEvent, destroyVM } from '../util';
|
import { createVue, triggerEvent, destroyVM, waitImmediate } from '../util';
|
||||||
|
|
||||||
const DELAY = 10;
|
const DELAY = 10;
|
||||||
const testDataArr = [];
|
const testDataArr = [];
|
||||||
|
@ -1956,7 +1956,7 @@ describe('Table', () => {
|
||||||
}, DELAY);
|
}, DELAY);
|
||||||
});
|
});
|
||||||
|
|
||||||
it('load substree row data', (done) => {
|
it('load substree row data', async() => {
|
||||||
const vm = createVue({
|
const vm = createVue({
|
||||||
template: `
|
template: `
|
||||||
<el-table :data="testData" row-key="release" lazy :load="load">
|
<el-table :data="testData" row-key="release" lazy :load="load">
|
||||||
|
@ -1968,6 +1968,11 @@ describe('Table', () => {
|
||||||
`,
|
`,
|
||||||
data() {
|
data() {
|
||||||
const testData = getTestData();
|
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;
|
testData[1].hasChildren = true;
|
||||||
return {
|
return {
|
||||||
testData: testData
|
testData: testData
|
||||||
|
@ -1986,14 +1991,15 @@ describe('Table', () => {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}, true);
|
}, true);
|
||||||
setTimeout(() => {
|
|
||||||
const expandIcon = vm.$el.querySelector('.el-table__expand-icon');
|
await waitImmediate();
|
||||||
expandIcon.click();
|
|
||||||
setTimeout(() => {
|
const expandIcon = vm.$el.querySelector('.el-table__expand-icon');
|
||||||
expect(expandIcon.classList.contains('el-table__expand-icon--expanded')).to.be.true;
|
expandIcon.click();
|
||||||
expect(vm.$el.querySelectorAll('.el-table__row').length).to.equal(7);
|
|
||||||
done();
|
await waitImmediate();
|
||||||
}, DELAY);
|
|
||||||
}, DELAY);
|
expect(expandIcon.classList.contains('el-table__expand-icon--expanded')).to.be.true;
|
||||||
|
expect(vm.$el.querySelectorAll('.el-table__row').length).to.equal(8);
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
Loading…
Reference in New Issue