给el-table第一列写成以下代码:
<el-table-column
type="selection"
width="55">
</el-table-column>
效果:
多选框动态禁用
el-table中设置了 type="selection",但是由于部分数据是已经处理过的,不允许选中,但是其他的数据有可以多选的时候,我们需要动态的判断每一行的数据是否可以选中, type="selection"时有这样一个属性:
所以我们只需要动态的控制selectable的值就可以达到动态禁用的目的
<el-table-column type="selection" width="55" :selectable="selectable">
methods:
selectable(row, index) {
//unselectableList为需要禁用的数组,需要禁用的数组中与本页数据无相匹配的数据的数据返回true(本行不禁用),
//反之返回false(本行禁用)
return (
this.unselectableList.findIndex(
(item) => item.opinionId == row.opinionId
) === -1
);
},
unselectableList为需要禁用的数组,我的项目中是通过计算属性,将这个数组生成的。
最终效果:
禁用的数组根据自己后端返回的参数来决定,比如我的是status的值为1的话就是禁用: 文章来源:https://www.toymoban.com/news/detail-800471.html
computed: {
unselectableList() {
return this.list.filter((item) => {
return item.status == "1";
});
},
},
文章来源地址https://www.toymoban.com/news/detail-800471.html
到了这里,关于el-table中设置第一列为多选框,且多选框动态禁用的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!