赞
踩
需求为在el-table中单选用户时不可以有全选按钮的出现,在官方文档中并没有发现可以实现的api
需要实现的效果如下:
实现代码:
el-table中添加:header-cell-class-name="cellClass"表头增加class函数
<el-table
:data="tableData"
ref="table"
border
:header-cell-class-name="cellClass"
>
<el-table-column
type="selection"
align="center"
/>
</el-table>
methods中增加对应函数,可根据是否单选(this.radio)来控制全选框显示与否
methods: {
cellClass(row){
if (row.columnIndex === 0 && this.radio) {
return 'disableheadselection'
}
}
}
添加css样式隐藏选框
因为添加的class属于在el-table的表头中,/deep/需要写在刚增加的class名前才会生效.(若需要在scoped中修改elementUI中的样式,则需要在选择器前面加上/deep/才会生效)
<style lang="scss" scoped>
/deep/ .disableheadselection > .cell .el-checkbox__inner {
display: none;
}
<style>