背景:因为element里面的扩展行支持多行展示扩展行,但接到了需求,只能展示一行,如:第一行扩展,点击第二行的时候,第一行收起,第二行展开。同时改成点击行展示扩展内容
<el-table
:data="eventTableData"
style="width: 100%"
@cell-click="clickTable"
ref="refTable"
@selection-change="handleSelectionChange"
@expand-change="expandSelect"
>
<el-table-column type="expand" width="0px" label="扩展">
</el-table-column>
</el-table>
data:{
eventTableData:[],
expands:[],
}
methods:{
clickTable:function(row, column, cell, event){//展开事件日志列表
if(cell.cellIndex!=3 && cell.cellIndex!=10){
this.$refs.refTable.toggleRowExpansion(row);
}
this.getnoTicketReason("",row.businessType);
},
handleSelectionChange:function (val) {
console.log(val)
},
expandSelect:function (row, expandedRows) {
var that = this
if (expandedRows.length>1) {
that.expands = []
if (row) {
that.expands.push(row);
}
this.$refs.refTable.toggleRowExpansion(expandedRows[0]);
} else {
that.expands = [];
}
},
}
本文介绍如何在Element UI的表格组件中实现单行扩展显示功能,即点击某一行时,仅展示该行的详细信息,同时收起其他行的扩展内容。通过监听表格的expand-change事件,并结合自定义方法expandSelect,可以确保任何时候只有一行处于展开状态。
7441





