el-table 展开行唯一
时间: 2023-06-30 21:12:34 浏览: 99
想要 el-table 展开行唯一,你可以使用 `expand-row-keys` 属性,它接受一个数组作为参数,数组中的每个元素都是展开行的 key 值。这样就可以确保只有一个行被展开了。
例如:
```html
<template>
<el-table :data="tableData" :expand-row-keys="expandRowKeys">
<el-table-column prop="date" label="日期" width="180"></el-table-column>
<el-table-column prop="name" label="姓名" width="180"></el-table-column>
<el-table-column prop="address" label="地址"></el-table-column>
<el-table-column label="操作">
<template slot-scope="scope">
<el-button size="mini" @click="handleExpand(scope.row)">展开</el-button>
</template>
</el-table-column>
<el-table-column prop="description" label="描述" v-if="showDescription"></el-table-column>
</el-table>
</template>
<script>
export default {
data() {
return {
expandRowKeys: [],
showDescription: false,
tableData: [
{
date: '2019-01-01',
name: '张三',
address: '北京市朝阳区',
description: '这是张三的描述'
},
{
date: '2019-01-02',
name: '李四',
address: '上海市浦东新区',
description: '这是李四的描述'
},
{
date: '2019-01-03',
name: '王五',
address: '广州市天河区',
description: '这是王五的描述'
}
]
}
},
methods: {
handleExpand(row) {
this.expandRowKeys = [row.key]
this.showDescription = true
}
}
}
</script>
```
在这个例子中,我们在 el-table 上声明了 `expand-row-keys` 属性,并将其绑定到 `expandRowKeys` 变量上。在 `handleExpand` 方法中,我们更新了 `expandRowKeys` 数组,确保只有一个行被展开了。同时,我们控制了一个 `showDescription` 变量,用于控制展开行的显示和隐藏。在 el-table-column 上,我们使用了 `v-if` 指令来根据 `showDescription` 变量的值来决定是否显示该列。
阅读全文