Element-ui的Table表格展开行功能

业务需要表格能够展开某一行,但组件中只能展开所有行,或者用table的树形数据(row 中需包含 children字段),可以通过控制 row-class-name来定义表格中需要展开的行。

  • 通过设置 type="expand" 和 Scoped slot 可以开启展开行功能,el-table-column 的模板会被渲染成为展开行的内容
      <el-table
          :row-class-name="setClassName"
          :data="paramsTableData">
           <el-table-column
             fixed="left"
             type="expand" // 给当前clumn设置
             width="30"
             align="center"
           >
            <template slot-scope="props">
              <pre class="pre2" >{{props.row.resObject}}</pre>  // 展开时显示的内容
            </template>
           </el-table-column>

           <template v-for="item of tableList">
            <div :key="item.prop">
              <el-table-column
                min-width="110"
                :show-overflow-tooltip="true"
                align="center"
                :prop="item.prop"
                :label="item.label"
              />
            </div>
           </template>
       </el-table>

// 逻辑代码
  methods: {
    setClassName({row, rowIndex}){
    // 在这里写判断条件,控制哪些行可展开,那些行不可展开
        if(row.resObject == null){
          return 'hide-expand' // 不可展开
        }else{
          return '' // 可展开
        }
    },
  }

// css代码   不可展开的行既没有右箭头,也无法点击
.hide-expand .el-table__expand-column .cell {
  display: none;
}
  • 示例图
image.png
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容