这里我将介绍两种单选方式,第一种是 el-table 提供给我们的单选方式,即高亮式。
但这种单选非传统单选方式,如果没有提示很难让人理解为单选,这时需要使用传统单选式。
- 高亮式
- 单选式
高亮式
高亮式是利用 el-table 提供的 highlight-current-row 和 @current-change 来实现的。
- highlight-current-row 是否要高亮当前行
- current-change 当表格的当前行发生变化的时候会触发该事件,如果要高亮当前行,请打开表格的 highlight-current-row 属性
<el-table
ref="singleTable"
:data="tableData"
highlight-current-row
@current-change="handleCurrentChange"
style="width: 100%"
>
<el-table-column property="name" label="姓名" width="120" />
<el-table-column property="phone" label="手机号" />
</el-table>
<script>
export default {
data() {
return {
currentRow: null,
};
},
methods: {
handleCurrentChange(val) {
this.currentRow = val;
},
},
};
</script>
单选式
单选则是利用了 el-radio 放在表头并绑定行数据来实现的,甚至不需要书写任何的 method 方法。
<el-table
ref="singleTable"
:data="tableData"
style="width: 100%"
>
<el-table-column width="55">
<template slot-scope="scope">
<el-radio
class="radio"
:label="scope.row"
v-model="currentRow"
>   </el-radio>
</template>
</el-table-column>
<el-table-column property="name" label="姓名" width="120" />
<el-table-column property="phone" label="手机号" />
</el-table>
<script>
export default {
data() {
return {
currentRow: null,
};
},
</script>