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

相关推荐
qq_283720051 小时前
Python Celery + FastAPI + Vue 全栈异步任务实战
vue.js·python·fastapi
小李子呢02112 小时前
前端八股性能优化(2)---回流(重排)和重绘
前端·javascript
吴声子夜歌4 小时前
Vue3——Vue实例与数据绑定
前端·javascript·vue.js
一 乐4 小时前
物流信息管理|基于springboot + vue物流信息管理系统(源码+数据库+文档)
java·数据库·vue.js·spring boot·论文·毕设·物流信息管理系统
挖稀泥的工人6 小时前
AI聊天界面的布局细节和打字跟随方法
前端·javascript·面试
竹林8186 小时前
从“连接失败”到丝滑登录:我用 ethers.js 连接 MetaMask 的完整踩坑记录
前端·javascript
颜酱7 小时前
图片大模型实践:可灵(Kling)文生图前后端实现
前端·javascript·人工智能
Reart7 小时前
从0解构tinyWeb项目--(Day:2)
javascript·后端·架构
孜孜不倦不忘初心7 小时前
Vue 项目结构与命名规范
vue.js·代码规范