当前位置:   article > 正文

elementui 解决el-table多选 禁用时隐藏全选按钮_elementui table禁用全选

elementui table禁用全选

场景:在查看信息时,我们一般会禁用全部行的多选按钮,只能查看,不能进行操作。

问题:这里,el-table被选中部分行,全选按钮还是会显示对勾,而不是半选中状态,容易使用户混淆。

解决:隐藏全选按钮

在el-table加 :header-cell-class-name="cellClass"

  1. <el-table
  2. ref="multipleTable"
  3. v-loading="loading"
  4. :data="tableData.records"
  5. v-bind="tableAttributes"
  6. :reserve-selection="true"
  7. :row-key="getRowKeys"
  8. :header-cell-class-name="cellClass"
  9. @selection-change="val => multipleSelection = val"
  10. >
  11. <el-table-column
  12. type="selection"
  13. align="center"
  14. width="55"
  15. :reserve-selection="true"
  16. :selectable="() => !disabled"
  17. />
  18. <!-- ......... -->
  19. </table>

在methods加cellClass方法

  1. /**
  2. * 全选按钮隐藏
  3. */
  4. cellClass(row) {
  5. if (this.disabled && row.columnIndex === 0) {
  6. return 'DisableSelection'
  7. }
  8. },

在css加样式

  1. ::v-deep .el-table .DisableSelection .cell .el-checkbox__inner{
  2. display: none;
  3. }

结果:全选按钮在禁用事被隐藏

这样问题是大概解决了,但是并不优。

要是能够实现既能识别出是未选、半选还是全选中状态,又能禁用该全选按钮,就更好了。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/不正经/article/detail/505811
推荐阅读
相关标签
  

闽ICP备14008679号