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.最终效果

相关推荐
浩星32 分钟前
react的框架UmiJs(五米)
前端·javascript·react.js
Niyy_3 小时前
前端一个工程构建多个项目,记录一次工程搭建
前端·javascript
快乐非自愿4 小时前
常用设计模式:工厂方法模式
javascript·设计模式·工厂方法模式
岁月宁静5 小时前
AI 多模态全栈应用项目描述
前端·vue.js·node.js
十年磨一剑~5 小时前
html+js开发一个测试工具
javascript·css·html
汪汪队立大功1235 小时前
JavaScript是怎么和html元素关联起来的?
开发语言·javascript·html
han_6 小时前
前端高频面试题之Vuex篇
前端·vue.js·面试
天天向上10246 小时前
VueUse的使用
前端·vue.js·vscode
FREE技术7 小时前
学生成绩管理系统 基于java+springboot+vue实现前后端分离项目并附带万字文档(源码+数据库+万字详设文档+软件包+安装教程)
java·vue.js·spring boot·mysql
GISer_Jing8 小时前
Node.js 开发实战:从入门到精通
javascript·后端·node.js