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

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Element-ui的Table表格展开行功能相关的知识,希望对你有一定的参考价值。

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

element-ui表格展开行每次只能展开一行

element-ui表格展开行每次只能展开一行
<template>
  <el-table
    :data="tableData"

    :expand-row-keys="expands"
    :row-key=\'getRowKeys\'
    @expand-change="expandChangeHandler"

    >
    <el-table-column type="expand">
      <template slot-scope="props">
        <el-form label-position="left" inline class="demo-table-expand">
          <el-form-item label="商品名称">
            <span> props.row.name </span>
          </el-form-item>
          <el-form-item label="所属店铺">
            <span> props.row.shop </span>
          </el-form-item>
        </el-form>
      </template>
    </el-table-column>
    <el-table-column
      label="商品 ID"
      prop="id">
    </el-table-column>
    <el-table-column
      label="商品名称"
      prop="name">
    </el-table-column>
    <el-table-column
      label="描述"
      prop="desc">
    </el-table-column>
  </el-table>
</template>

<script>
  export default 
    data() 
      return 
        tableData: [
          id: \'12987122\',
          name: \'好滋好味鸡蛋仔\',
          category: \'江浙小吃、小吃零食\',
          desc: \'荷兰优质淡奶,奶香浓而不腻\',
          address: \'上海市普陀区真北路\',
          shop: \'王小虎夫妻店\',
          shopId: \'10333\'
        , 
          id: \'12987123\',
          name: \'好滋好味鸡蛋仔\',
          category: \'江浙小吃、小吃零食\',
          desc: \'荷兰优质淡奶,奶香浓而不腻\',
          address: \'上海市普陀区真北路\',
          shop: \'王小虎夫妻店\',
          shopId: \'10333\'
        , 
          id: \'12987125\',
          name: \'好滋好味鸡蛋仔\',
          category: \'江浙小吃、小吃零食\',
          desc: \'荷兰优质淡奶,奶香浓而不腻\',
          address: \'上海市普陀区真北路\',
          shop: \'王小虎夫妻店\',
          shopId: \'10333\'
        ],
        getRowKeys(row) 
          return row.id;
        ,
        //存放展开的id
        expands: [],
      
    ,
    methods:
      // 点击展开的时候就会触发这个方法
      expandChangeHandler(row, expandedRows) 
        console.log(\'expandedRows\',expandedRows)
        console.log(\'row\',row)
        if (expandedRows.length) 
          this.expands = [];
          if (row) 
            this.expands.push(row.id);
          
         else 
          this.expands = [];
        
      
    
  
</script>
<style>
.demo-table-expand 
  font-size: 0;

.demo-table-expand label 
  width: 90px;
  color: #99a9bf;

.demo-table-expand .el-form-item 
  margin-right: 0;
  margin-bottom: 0;
  width: 50%;

</style>

以上是关于Element-ui的Table表格展开行功能的主要内容,如果未能解决你的问题,请参考以下文章

Table展开行

element-ui —— el-table分页回显与多选删除功能冲突(reserve-selection)

ELement-UI之树形表格(treeTable&&treeGrid)

element-ui el-table表格排序sortable参数解析

element-ui中的表格嵌套表格

解决element-ui table expend扩展里边需要请求表格数据第一次不渲染的问题