<el-table
ref="multipleTable"
:data="tableData"
border
tooltip-effect="dark"
size="small"
:stripe="true"
highlight-current-row
class="has-gutter"
@row-click="rowselect"
@selection-change="handleSelectionChange"
>
<-- 多选框-->
<el-table-column type="selection" align="center" width="55"> </el-table-column>
</el-table>
只需要配置 highlight-current-row
属性即可实现单选,整条数据高亮显示,由于我用了一个多选框在前面写了事件
@row-click="rowselect"
不点击选择框,点击某一行即可选中选择框
rowselect(row){
//multipleTable-->el-table 上ref的值
//用于多选表格,切换某一行的选中状态,如果使用了第二个参数,则是设置这一行选中与否(selected 为 true 则选中)
this.$refs.multipleTable.toggleRowSelection(row);
},
@selection-change="handleSelectionChange"
点击多个选择框,只显示最后一次选中的选择框
handleSelectionChange(rows) {
// 获取选中列表对象
if (rows.length > 1) {
// clearSelection 用于多选表格,清空用户的选择
this.$refs.multipleTable.clearSelection();
this.$refs.multipleTable.toggleRowSelection(rows.pop());
return;
}
if (rows.length == 1) {
// 选中的行对像放进数组,方便后续对数据进行操作
this.handleList = rows;
} else if (rows.length == 0) {
this.handleList = [];
}
},
最后隐藏表头的选择框
class="has-gutter"
<style>
.has-gutter .el-table__header-wrapper .el-checkbox {
display: none;
}
</style>