微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

vue+table实现表格动态合并

<template>
  <div>
    <table>
      <thead>
        <th>ID</th>
        <th>所属部门</th>
        <th>姓名</th>
        <th>年龄</th>
      </thead>
      <tbody>
        <template v-for="(item,num) in tableData">
          <tr :key="num+'-'+'1'">
            <td :rowspan="item.rowSpanData.length * item.rowSpanData[0].data.length">{{item.rowSpanName}}</td>
            <td :rowspan="item.rowSpanData[0].data.length">{{item.rowSpanData[0].value01}}</td>
            <td>bb</td>
            <td>bb</td>
          </tr>
          <tr v-for="(ele,inx) in item.rowSpanData[0].data.length-1" :key="num+'--'+inx">
            <td>s</td>
            <td>s</td>
          </tr>
          <template v-for="(te,index) in item.rowSpanData.length-1">
            <tr :key="index+'-'+'2'">
              <td :rowspan="item.rowSpanData[0].data.length">{{item.rowSpanData[0].value01}}</td>
              <td>bb</td>
              <td>bb</td>
            </tr>
            <tr v-for="(ele,inx) in item.rowSpanData[0].data.length-1" :key="index+'-'+inx">
              <td>s</td>
              <td>s</td>
            </tr>
          </template>
        </template>

      </tbody>
    </table>
  </div>
</template>

<script>
export default {
  data() {
    return {
      tableData:[
        {
          rowSpanName:'一级菜单',
          rowSpanData:[
            {
              value01:"二级菜单",
              data:[{value:"a"},{value:"a"}]
            },
            {
              value01:"二级菜单",
              data:[{value:"a"},{value:"a"}]
            },
            {
              value01:"二级菜单",
              data:[{value:"a"},{value:"a"}]
            },
            {
              value01:"二级菜单",
              data:[{value:"a"},{value:"a"}]
            },
          ]
        }
      ]
    }
  },
}
</script>

<style lang="less" scoped>
  table{
    tr{
      td{
        border: 1px solid black;
      }
    }
  }
</style>

关键在与:key不能重

 

来源:https://wenku.baidu.com/view/1f62a33451d380eb6294dd88d0d233d4b14e3f7e.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐