前端开发您现在的位置是:首页 > 博客日志 > 前端开发

实现 element-ui 中 el-table 点击一行展开

<a href='mailto:'>微wx笑</a>的头像微wx笑 2022-03-13前端开发 3 0关键字: element-ui  el-table  

element-ui的el-table有展开行的功能,当行内容过多并且不想显示横向滚动条时,可以使用 Table 展开行功能。但是默认的示例却只有点击固定的一个单元格才能展开,用户体验不好,如何才能只要点击一行的任意位置都可以展开呢?

实现element-ui中 table 点击一行展开uUs无知

先上效果图:uUs无知

uUs无知

实现思路:uUs无知


uUs无知

1. table 添加  ref="refTable" 引用 该tableuUs无知


uUs无知

2. table 添加  @row-click="clickTable" 点击事件uUs无知


uUs无知

3. 点击时,调用table的方法 toggleRowExpansion ,展开/关闭uUs无知


uUs无知

参考API :  https://element.eleme.cn/#/zh-CN/component/tableuUs无知


uUs无知

clickTable(row,index,e){uUs无知

 uUs无知

    //调用,table的方法,展开/折叠 行uUs无知

    this.$refs.refTable.toggleRowExpansion(row)uUs无知

}uUs无知

--- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- uUs无知


uUs无知

参考代码,由于自己实际写的复杂.uUs无知


uUs无知

而且数据,是 远端加载,不易懂 所以此处贴的是别人的代码:uUs无知


uUs无知

(复制粘贴即可用,代码转自简书: https://www.jianshu.com/p/e51ba4cb11d6 )  uUs无知

<template>
  <el-table
    :data="tableData5"
  @row-click="clickTable"
   ref="refTable"
    style="width: 100%">
    <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 {
        tableData5: [{
          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'
        }, {
          id: '12987126',
          name: '好滋好味鸡蛋仔',
          category: '江浙小吃、小吃零食',
          desc: '荷兰优质淡奶,奶香浓而不腻',
          address: '上海市普陀区真北路',
          shop: '王小虎夫妻店',
          shopId: '10333'
        }]
      }
    },
     methods: {
         clickTable(row,index,e){
           this.$refs.refTable.toggleRowExpansion(row)
      }
  }
</script>

————————————————uUs无知

版权声明:本文为CSDN博主「胡萧徒」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。uUs无知

原文链接:https://blog.csdn.net/weixin_42144379/article/details/89511513uUs无知


uUs无知

本文为转载文章,版权归原作者所有,不代表本站立场和观点。

很赞哦! () 有话说 ()