vue 动态合并表格

跟普通的合并表格不同的是 这个表格数据的列头不固定…

<template>
  <div>
    <table>
      <thead>
        <th v-for="(item,index)  in table.columns" :key="index" :style="'minWidth:'+ getThClass(index)+'px;' " :class="getThClass(index)">{{item}}</th>
      </thead>
      <tbody>
        <template v-if="table.List.length<=0">
          <tr class="noData">
            <td :colspan="16">{{$t("noData")}}</td>
          </tr>
        </template>
        <template v-for="tr of table.List">
          <tr v-for="(item,index) of tr.items" :key="item.totalAmount">
            <td v-if="index===0" :rowspan="tr.items.length">{{tr.date}}</td>
            <td v-if="index===0" :rowspan="tr.items.length" :class="getTbClass(tr.totalAmount)">{{formatCurrency(tr.totalAmount)}}</td>
            <template v-for="(value,j) in item">
              <td v-if="table.columns.hasOwnProperty(j)" :key="j+'_'+item.totalAmount" :style="'minWidth:'+ getThClass(value)+'px;' " :class="getTbClass(value,j)">
                <Tooltip :content="value" placement="bottom" id="courseName" v-if="j==='staffName2'||j==='staffName'||j==='name'">
                  <div class="breakAll">{{value}}</div>
                </Tooltip>
                <span v-else>{{typeof value==='number'?formatCurrency(value):value}}</span>
              </td>
            </template>
          </tr>
        </template>
      </tbody>
    </table>
  </div>
</template>
<script>
export default {
  components: {
  },
  data() {
    return {
      table:{ 
        columns:[],
        List:[]
       }
     }
  }

直接上效果图

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值