首页IT科技vue element 表格全选(element-ui table使用type=‘selection‘复选框全禁用-全选禁用)

vue element 表格全选(element-ui table使用type=‘selection‘复选框全禁用-全选禁用)

时间2025-07-31 16:24:07分类IT科技浏览5590
导读:目录...

目录

问题总结: 当条件数据全被禁用时               ,全选按钮也变成禁用的状态                      ,而不是隐藏               。有会做的小伙伴希望跟帖                      。谢谢!

复选框框架:通过调用selectable方法       ,进行禁用复选框       。

1.指定行禁用:

2.条件禁用:

问题点:当条件数据全被禁用时        ,全选按钮不是禁用的状态               。

复选框全被禁用时                      ,全选按钮将被隐藏 

问题总结: 当条件数据全被禁用时               ,全选按钮也变成禁用的状态        ,而不是隐藏                       。有会做的小伙伴希望跟帖       。谢谢!

问题总结: 当条件数据全被禁用时                      ,全选按钮也变成禁用的状态               ,而不是隐藏       。有会做的小伙伴希望跟帖                       。谢谢!

复选框框架:通过调用selectable方法,进行禁用复选框               。

<!-- 复选框禁用 --> <el-table v-loading="loading" :data="studentList" @selection-change="handleSelectionChange" > <el-table-column type="selection" width="55" align="center" :selectable="selectable" /> <el-table-column label="编号" align="center" prop="studentId" />

1.指定行禁用:

//复选框禁用 selectable(row,rowIndex) { //索引是从0开始                      ,条件1是指只有第2行数据不被禁用 if(rowIndex == 1){ return true; //不禁用 }else { return false; //禁用 } }

效果:

2.条件禁用:

//复选框禁用 selectable(row,rowIndex) { //只有姓名【zhang】不被禁用 if (row.studentName == "zhang") { return true; //不禁用 }else { return false; //禁用 } }

效果:

问题点:当条件数据全被禁用时                      ,全选按钮不是禁用的状态       。

//复选框全部禁用 selectable(row,rowIndex) { return false; }

效果:

复选框全被禁用时,全选按钮将被隐藏 

回避做法:加了一个:header-cell-class-name属性               ,通过调用cellClass方法                      ,当全被禁用时       ,全选按钮将被隐藏                      。

<!-- 复选框禁用 --> <el-table v-loading="loading" :data="studentList" :header-cell-class-name="cellClass" @selection-change="handleSelectionChange" > <el-table-column type="selection" width="55" align="center" :selectable="selectable" /> <el-table-column label="编号" align="center" prop="studentId" />

实现:定义一个参数DisableSelection:true               ,实现全选禁用               。

export default { name: "Student", data() { return { // 全选按钮隐藏 DisableSelection:true, } } }

追加全选按钮的隐藏样式:

<style> .el-table .DisableSelection .cell .el-checkbox__inner{ display: none; position: relative; } .el-table .DisableSelection .cell:before{ content: ""; position: absolute; } </style>

追加全选按钮隐藏函数cellClass                      ,启用隐藏样式:

//全选按钮隐藏 cellClass(row){ row.length console.log(row) if(this.DisableSelection){ if (row.columnIndex === 0) { return DisableSelection } } },

复选框当存在不禁用时       ,重置DisableSelection属性值:

//复选框禁用 selectable(row,rowIndex) { //所有行都被禁用 if(rowIndex < 0){ this.DisableSelection = false && this.DisableSelection; return true; //不禁用 }else { return false; //禁用 } },

效果:全被禁用时        ,全选按钮被隐藏

 存在可选按钮场合:前两行可选。

//复选框禁用 selectable(row,rowIndex) { //前两行可选的状态 if(rowIndex < 2){ this.DisableSelection = false && this.DisableSelection; return true; //不禁用 }else { return false; //禁用 } },

当存在可选时                      ,全选按钮被表示出来

问题总结: 当条件数据全被禁用时               ,全选按钮也变成禁用的状态        ,而不是隐藏                      。有会做的小伙伴希望跟帖                      。谢谢!

创心域SEO版权声明:以上内容作者已申请原创保护,未经允许不得转载,侵权必究!授权事宜、对本内容有异议或投诉,敬请联系网站管理员,我们将尽快回复您,谢谢合作!

展开全文READ MORE
淮安lg(淮安欢迎您) 2023年印刷厂排行榜出炉(调研报告详解,数字化转型成趋势)