el-table自界说按钮控制扩展expand

打印 上一主题 下一主题

主题 995|帖子 995|积分 2985

需求:自界说按钮实现表格扩展内容的展开和收起,实现如下:

   将type=“expand”的表格列的宽度设置为width="1",让该操作列不展示出来,然后通过ref动态调用组件的内部方法toggleRowExpansion(row, row.expanded)控制扩展内容的显隐题目。
    关于动态收起所有展开项
可以通过遍历tableData,调用toggleRowExpansion(row, false)关闭
  

  1. <template>
  2.   <el-table
  3.     :data="tableData"
  4.     ref="table"
  5.    <el-table-column
  6.       label="商品 ID"
  7.       prop="id">
  8.    </el-table-column>
  9.    <el-table-column label="操作">
  10.       <template slot-scope="{ row }">
  11.          <el-button type="text" @click="toggleExpand(row)" size="mini">
  12.           详情<i :class="row.expanded ? 'el-icon-arrow-up' : 'el-icon-arrow-down'"></i>
  13.          </el-button>
  14.       </template>
  15.    </el-table-column>
  16.    <el-table-column type="expand">
  17.       <template slot-scope="props">
  18.           <span>{{ props.row.detail}}</span>         
  19.       </template>
  20.    </el-table-column>
  21.   </el-table>
  22. </template>
  23. <script>
  24.   export default {
  25.     data() {
  26.       return {
  27.         tableData: [{
  28.           detail: '好滋好味鸡蛋仔',
  29.           id: '12987122',
  30.         },
  31.         {
  32.           detail: '好滋好味鸡蛋仔22',
  33.           id: '12987123',
  34.         }]
  35.       }
  36.     },
  37.     methods:{
  38.     // 展开单项
  39.      async toggleExpand(row) {
  40.       //   如果需要远程获取详情数据
  41.       // if (!row.detail) {
  42.       //   const { data, code } = await xxx({});
  43.       //   if (code === 0) {
  44.       //     row.detail= data;
  45.       //   }
  46.       // }
  47.       row.expanded = !row.expanded;
  48.       this.$refs.table.toggleRowExpansion(row, row.expanded);
  49.     },
  50.     // 遍历tableData,收起所有展开项
  51.     clearAllExpand() {     
  52.       const tableInstance = this.$refs.mulSelectTable;
  53.       this.tableData.forEach(row => {
  54.         tableInstance.toggleRowExpansion(row, false); // 遍历每一行,调用方法并传入false来关闭展开状态
  55.       });
  56.     },
  57.   }
  58.   }
  59. </script>
复制代码
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

我爱普洱茶

金牌会员
这个人很懒什么都没写!
快速回复 返回顶部 返回列表