el-table控制type=“expand“展开列 根据条件显示或隐藏展开按钮

1,通过样式控制 首先定义行class样式 在组件中需通过样式穿透

复制代码
::v-deep {
  .row-expand-unhas .el-table__expand-column {
    pointer-events: none;
  }
  .row-expand-unhas .el-table__expand-column .el-icon {
    visibility: hidden;
  }
}

2,行判断数据条件 添加class

复制代码
    <el-table
      ref="tableRef"
      :data="tableData"
      style="width: 100%"
      row-key="id"
      border
      :height="tableHeight"
      :row-class-name="getRowClass"
      @expand-change="handleExpandChange"
    >
      <el-table-column type="expand">
        <template #default="props">
....
        </template>
      </el-table-column>


    // 根据是否合计行判断是否隐藏展开按钮
    getRowClass({row}) {
      const res = []
      if (row.sector !== '合计') {
        res.push('row-expand-has')
        return res
      } else {
        res.push('row-expand-unhas')
        return res
      }
    },

3.最终效果

相关推荐
Nejosi_念旧25 分钟前
TypeScript 泛型讲解
前端·javascript·typescript
layman052831 分钟前
vue——v-pre的使用
前端·javascript·vue.js
zizisuo1 小时前
Java集合框架深度剖析:结构、并发与设计模式全解析
java·javascript·数据结构·设计模式
要加油哦~1 小时前
刷题 | 牛客 - js中等题-下(更ing)30/54知识点&解答
java·开发语言·javascript
Python涛哥1 小时前
前端流行框架Vue3教程:25. 组件保持存活
前端·javascript·vue.js
Hello-Mr.Wang1 小时前
基于 Vue3 与 exceljs 实现自定义导出 Excel 模板
前端·vue.js·excel
Raink老师2 小时前
1.3 如何安装 TypeScript?
前端·javascript·typescript
ST_小罗2 小时前
【Web前端】JavaScript入门与基础(二)
开发语言·前端·javascript
Greatlifeee2 小时前
VUE3+TS实现图片缩放移动弹窗
前端·javascript·vue.js