element-ui多选表格禁用某一行不被选择问题
作者:将小宁
这篇文章主要介绍了element-ui多选表格禁用某一行不被选择问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
element-ui多选表格禁用某一行不被选择
1.首先使用element-ui 的表格组件
具体代码如下
<el-table :data="tableData">
<el-table-column
type="selection"
:selectable="selectHandle"
label="多选"
align="center">
</el-table-column>
</el-table>其中tableData为绑定的表格数据,将表格第一列的type设置为selection,代表多选。
selectable绑定的selectHandle()方法仅对 type=selection 的列有效,类型为 Function,Function 的返回值用来决定这一行的 CheckBox 是否可以勾选,接下来只需要在selectHandle()方法中设置返回值就可以了,
如下:
//在参数row中可以获得这一行的数据,index为这一行的下标,
//我的需求是禁用第一行,所以在index === 0 的时候,返回false即可
selectHandle(row, index) {
return !(index === 0);
},element-ui表格表头禁用全选功能
element-ui 貌似没有提供禁用全选的属性或者方法
所以只能我们自己动手来禁用全选了
第一种情况,直接不用显示全选按钮,那我们可以这么做
.el-table__header-wrapper .el-checkbox{//找到表头那一行,然后把里面的复选框隐藏掉
display:none
}
下面是效果图

element提供了一个全选的事件
select-all 当用户手动勾选全选 Checkbox 时触发的事件
所以我们要是想要它不能全选可以这么写
第二中利用全选方法,清除选择
<el-table ref="multipleTable" @select-all="onSelectAll">
</el-table>
<script>
methods: {
onSelectAll () {
this.$refs.multipleTable.clearSelection()//这个是清除所有选择项,当选择全部时,清除所有选择项
}
}
</script>
总结
以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。
