Elment Plus表格展开行后,进行修改数据后展开行自动收起
时间: 2024-03-10 14:43:57 浏览: 168
展开收起隐藏行
3星 · 编辑精心推荐
您可以在 Element Plus 表格中使用 `expand-change` 事件来监听展开行的变化,然后在监听函数中动态更新 `expand-row-keys` 数组来控制展开行的状态。当您修改了展开行的数据后,可以在监听函数中调用 `toggleRowExpansion` 方法来收起展开行。以下是示例代码:
```html
<template>
<el-table
:data="tableData"
:expand-row-keys="expandRowKeys"
@expand-change="handleExpandChange"
>
<el-table-column prop="name" label="Name"></el-table-column>
<el-table-column prop="age" label="Age"></el-table-column>
</el-table>
</template>
<script>
export default {
data() {
return {
tableData: [
{ name: 'John', age: 28 },
{ name: 'Jane', age: 24 },
],
expandRowKeys: [], // 控制展开行的数组
};
},
methods: {
handleExpandChange(row, expanded) {
if (expanded) {
this.expandRowKeys.push(row); // 展开行
} else {
const index = this.expandRowKeys.findIndex((item) => item === row);
if (index !== -1) {
this.expandRowKeys.splice(index, 1); // 收起行
}
}
},
handleDataChange(row) {
// 处理数据修改后的逻辑
this.$refs.table.toggleRowExpansion(row, false); // 收起展开行
},
},
};
</script>
```
在上面的示例代码中,`expandRowKeys` 数组用来控制哪些行是展开的,`handleExpandChange` 方法监听展开行的变化,动态更新 `expandRowKeys` 数组。当您修改了展开行的数据后,可以在 `handleDataChange` 方法中调用 `toggleRowExpansion` 方法来收起展开行。
阅读全文