mirror of
https://github.com/element-plus/element-plus.git
synced 2026-03-13 07:51:17 +08:00
fix(components): [table] default-expand-all invalid (#20715)
* fix(components): [table] `default-expand-all` invalid * test: dynamic data case * test: update
This commit is contained in:
@@ -1722,6 +1722,92 @@ describe('Table.vue', () => {
|
||||
expect(spy.mock.calls[0][1]).toBeTruthy()
|
||||
})
|
||||
|
||||
it('tree-props & default-expand-all with dynamic data', async () => {
|
||||
wrapper = mount({
|
||||
components: {
|
||||
ElTable,
|
||||
ElTableColumn,
|
||||
},
|
||||
template: `
|
||||
<el-table
|
||||
:data="testData" default-expand-all row-key="id"
|
||||
>
|
||||
<el-table-column prop="name" label="片名" />
|
||||
<el-table-column prop="release" label="发行日期" />
|
||||
<el-table-column prop="director" label="导演" />
|
||||
<el-table-column prop="runtime" label="时长(分)" />
|
||||
</el-table>
|
||||
`,
|
||||
data() {
|
||||
return {
|
||||
testData: [],
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
setData() {
|
||||
this.testData = [
|
||||
{
|
||||
id: 1,
|
||||
name: 'Toy Story',
|
||||
release: '1995-11-22',
|
||||
director: 'John Lasseter',
|
||||
runtime: 80,
|
||||
children: [
|
||||
{
|
||||
id: 11,
|
||||
name: 'Toy Story',
|
||||
release: '1995-11-22',
|
||||
director: 'John Lasseter',
|
||||
runtime: 80,
|
||||
},
|
||||
{
|
||||
id: 12,
|
||||
name: 'Toy Story',
|
||||
release: '1995-11-22',
|
||||
director: 'John Lasseter',
|
||||
runtime: 80,
|
||||
},
|
||||
],
|
||||
},
|
||||
{
|
||||
id: 2,
|
||||
name: "A Bug's Life",
|
||||
release: '1998-11-25',
|
||||
director: 'John Lasseter',
|
||||
runtime: 95,
|
||||
children: [
|
||||
{
|
||||
id: 21,
|
||||
name: "A Bug's Life",
|
||||
release: '1998-11-25',
|
||||
director: 'John Lasseter',
|
||||
runtime: 95,
|
||||
},
|
||||
{
|
||||
id: 22,
|
||||
name: "A Bug's Life",
|
||||
release: '1998-11-25',
|
||||
director: 'John Lasseter',
|
||||
runtime: 95,
|
||||
},
|
||||
],
|
||||
},
|
||||
]
|
||||
},
|
||||
},
|
||||
})
|
||||
await doubleWait()
|
||||
let childRows = wrapper.findAll('.el-table__row--level-1')
|
||||
expect(childRows.length).toEqual(0)
|
||||
wrapper.vm.setData()
|
||||
await doubleWait()
|
||||
|
||||
childRows = wrapper.findAll('.el-table__row--level-1')
|
||||
childRows.forEach((item) => {
|
||||
expect(item.attributes('style')).toBeUndefined()
|
||||
})
|
||||
})
|
||||
|
||||
it('tree-props & default-expand-all & shrink & edit-value', async () => {
|
||||
wrapper = mount({
|
||||
components: {
|
||||
|
||||
@@ -148,6 +148,7 @@ function useTree<T>(watcherData: WatcherPropsData<T>) {
|
||||
watch(
|
||||
() => normalizedData.value,
|
||||
() => {
|
||||
isInitTree = true
|
||||
updateTreeData()
|
||||
}
|
||||
)
|
||||
|
||||
Reference in New Issue
Block a user