一、el-table加上 @selection-change="selectedChange",并加上<el-table-column type="selection" width="60" align="center"></el-table-column>选择行
<el-table ref="table" class="elTable" :data="data" border @selection-change="selectionChange">
<el-table-column type="selection" width="40" align="center"></el-table-column>
<el-table-column v-for="(item, index) in columns" :key="index" align="center" :prop="item.key" :label="item.value">
<template slot-scope="scope">
<p>{{ scope.row[item.key] }}</p>
</template>
</el-table-column>
</el-table>
二、methods加上方法:
selectionChange(list) {
this.selectionList = [];
if (list.length > 1) {
this.$refs.table.clearSelection();
this.$refs.table.toggleRowSelection(
list[list.length - 1]
);
}
this.selectionList = [list[list.length - 1]];
}
三、隐藏全选的按钮
/**找到表头那一行,然后把里面的复选框隐藏掉**/
/deep/ .elTable .el-table__header-wrapper .el-checkbox {
display: none;
}
/**
*** 因为我们的需求是去掉复选框顶部的全选按钮后,需要填充别的文字,
*** 所以才添加了下面的这个样式, 这个样式按需添加
**/
/deep/ .elTable .el-table__header-wrapper .el-table-column--selection.el-table__cell .cell:before {
content: "主键";
}
四、效果如下