VUE +ElementUI 表格展开每次只展开一行

1、table 部分

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

2、column 部分 :参见官方示例

<el-table-column type="expand" >
      <template slot-scope="props">
       XXXX
      </template>
 </el-table-column>

3、method 部分

      设置展开区域的具体内容,就是在  expandSelect  这个方法内设置

getRowKeys:function(row){
             return row.id
},
expandSelect:function(row, expandedRows) {
     var that = this
     if (expandedRows.length) {
            that.expands = []
            if (row) {
              that.expands.push(row.id)
            }
     } 
     else {
            that.expands = []
     }
},

4、应用实列

<el-table
    :data="tableData5"
    style="width: 100%"
    :row-key='getRowKeys'
    :expand-row-keys="expands"
    @expand-change="expandSelect">
    <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-item label="商品 ID">
            <span>{{ props.row.id }}</span>
          </el-form-item>
          <el-form-item label="店铺 ID">
            <span>{{ props.row.shopId }}</span>
          </el-form-item>
          <el-form-item label="商品分类">
            <span>{{ props.row.category }}</span>
          </el-form-item>
          <el-form-item label="店铺地址">
            <span>{{ props.row.address }}</span>
          </el-form-item>
          <el-form-item label="商品描述">
            <span>{{ props.row.desc }}</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>

<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>

<script>
  export default {
    data() {
      return {
        expands: [],
        tableData5: [{
          id: '12987122',
          name: '好滋好味鸡蛋仔',
          category: '江浙小吃、小吃零食',
          desc: '荷兰优质淡奶,奶香浓而不腻',
          address: '上海市普陀区真北路',
          shop: '王小虎夫妻店',
          shopId: '10333'
        }, {
          id: '12987123',
          name: '好滋好味鸡蛋仔',
          category: '江浙小吃、小吃零食',
          desc: '荷兰优质淡奶,奶香浓而不腻',
          address: '上海市普陀区真北路',
          shop: '王小虎夫妻店',
          shopId: '10333'
        }]
      },
       methods:{
          getRowKeys:function(row){
             return row.id
          },
          expandSelect:function(row, expandedRows) {
             var that = this
             if (expandedRows.length) {
               that.expands = []
               if (row) {
                 that.expands.push(row.id)
               }
             } 
             else {
                that.expands = []
             }
          },

       }
    }
  }
</script>
      
发布了44 篇原创文章 · 获赞 15 · 访问量 5万+

猜你喜欢

转载自blog.csdn.net/Sunshine0508/article/details/89948744
今日推荐