问题:在el-table中,当我们在点击小三角图标展开表格时,不能自动关闭其它已展开的行!
实现效果:点击小三角,展开当前行,自动关闭其它已展开的行。
//示例代码
<template>
<el-table
:data="tableData"
:row-key="getRowKeys"
:expand-row-keys="expands"
@current-change="toggleRowExpansion"
>
<el-table-column type="expand">
<el-table :data="tableExpandData">
...
</el-table>
</el-table-column>
</el-table>
</template>
data() {
return {
tableData: [],
tableExpandData: [],
getRowKeys(row) {
return row.sku // 通过此方法,可以为表格中的每一行设置一个唯一的key值
},
expands: [], // 要展开的行,数值是行的key值
}
}
methods: {
// table 展开,实现手风琴的效果
toggleRowExpansion(row) {
this.expands = [row.sku] // 要展开的当前行
this.$ajax
.get('/yypms/pms/hwcDevelopmentProject/getSkuViewInfoBySku?sku=' + row.sku)
.then((res) => {
if (res.data.code == '200') {
this.tableExpandData = res.data.obj
}
}
);
}
}
感谢原作者:https://blog.csdn.net/sinat_33312523/article/details/78928236