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

相关推荐
打瞌睡的朱尤12 小时前
Vue day12 Vue3认识,写法区分
前端·javascript·vue.js
阿珊和她的猫12 小时前
Vue Router 的使用指南
前端·javascript·vue.js
打瞌睡的朱尤12 小时前
day8 Vue-x
前端·javascript·vue.js
一只大侠的侠12 小时前
React Native for OpenHarmony:Calendar 日历组件实现指南
javascript·react native·react.js
Highcharts.js13 小时前
矩形树图Treemap布局算法深度解析:基于Highcharts实现带层级交互的矩形树图
javascript·交互·开发文档·treemap·highcharts·图表类型·矩形树图
一只大侠的侠13 小时前
React Native for OpenHarmony:日期选择功能完整实现指南
javascript·react native·react.js
Zhencode13 小时前
vue3运行时核心模块之runtime-dom
前端·javascript·vue.js
henry10101013 小时前
DeepSeek生成的网页版念经小助手
javascript·css·html5·工具
一只大侠的侠13 小时前
React Native实战:高性能StickyHeader粘性标题组件实现
javascript·react native·react.js
打瞌睡的朱尤13 小时前
Vue day13~16Vue特性,Pinia,大事件项目
前端·javascript·vue.js