elementui table多选框单选
时间: 2023-11-16 22:01:02 浏览: 115
基于easyui的单选和多选框组件
可以通过以下步骤实现elementui的表格多选框单选:
1. 隐藏多选框:在样式中添加以下代码:`.el-table__header .el-checkbox { display: none; }`
2. 监听selection-change事件:在el-table标签中添加`@selection-change="handleSelectionChange"`,并在methods中添加`handleSelectionChange`方法。
3. 在handleSelectionChange方法中判断选中的行数,如果大于1,则清除所有选中项,只选中最后一个选中的项;否则,将选中项赋值给tableSelect。
4. 在table中添加`:row-class-name="tableRowClassName"`,并在methods中添加`tableRowClassName`方法,用于判断当前行是否被选中,如果被选中,则添加`row-selected`类名。
5. 在样式中添加以下代码:`.row-selected .el-checkbox { display: none; }`,用于隐藏多选框。
代码如下:
```html
<template>
<el-table :data="tableData" :row-class-name="tableRowClassName" @selection-change="handleSelectionChange">
<el-table-column type="selection" width="55"></el-table-column>
<el-table-column label="角色名称" min-width="120" prop="name"></el-table-column>
<el-table-column prop="num" label="成员数量" min-width="120"></el-table-column>
</el-table>
</template>
<script>
export default {
data() {
return {
tableData: [],
tableSelect: []
}
},
methods: {
handleSelectionChange(val) {
if (val.length > 1) {
this.$refs.multipleTable.clearSelection();
this.$refs.multipleTable.toggleRowSelection(val.pop());
} else {
this.tableSelect = val;
}
},
tableRowClassName({ row }) {
if (this.tableSelect.indexOf(row) !== -1) {
return 'row-selected';
}
return '';
}
}
}
</script>
<style scoped>
.el-table__header .el-checkbox {
display: none;
}
.row-selected .el-checkbox {
display: none;
}
</style>
```
阅读全文