<template>
  <el-table :data="tableData" :span-method="arraySpanMethod" border>
    <el-table-column prop="id" label="ID" width="180"></el-table-column>
    <el-table-column prop="name" label="Name"></el-table-column>
    <el-table-column prop="amount1" sortable label="Amount1"></el-table-column>
    <el-table-column prop="amount2" sortable label="Amount2"></el-table-column>
    <el-table-column prop="amount3" sortable label="Amount3"></el-table-column>
  </el-table>
  <br>
  <el-table :data="tableData" :span-method="objectSpanMethod" border>
    <el-table-column prop="id" label="ID" width="180"></el-table-column>
    <el-table-column prop="name" label="Name"></el-table-column>
    <el-table-column prop="amount1" sortable label="Amount1"></el-table-column>
    <el-table-column prop="amount2" sortable label="Amount2"></el-table-column>
    <el-table-column prop="amount3" sortable label="Amount3"></el-table-column>
  </el-table>
</template>
<script>
export default {
  name: "Table_Demo8",
  data() {
    return {
      tableData: [
        {
          id: '12987122',
          name: 'Tom',
          amount1: '234',
          amount2: '3.2',
          amount3: 10,
        },
        {
          id: '12987123',
          name: 'Tom',
          amount1: '165',
          amount2: '4.43',
          amount3: 12,
        },
        {
          id: '12987124',
          name: 'Tom',
          amount1: '324',
          amount2: '1.9',
          amount3: 9,
        },
        {
          id: '12987125',
          name: 'Tom',
          amount1: '621',
          amount2: '2.2',
          amount3: 17,
        },
        {
          id: '12987126',
          name: 'Tom',
          amount1: '539',
          amount2: '4.1',
          amount3: 15,
        },
      ]
    }
  },
  methods: {
    arraySpanMethod({row, column, rowIndex, columnIndex}) {
      if (rowIndex % 2 === 0) {
        if (columnIndex === 0) {
          return [1, 2]  // columnIndex === 0 表示第一列，[1, 2] 1代表行不合并，2代表列占用2列
        } else if (columnIndex === 1) {
          return [0, 0]  // 由于第一列占用了两列，所以第二列的内容需要设置为[0,0]就不会占空间了
        }
      }
    },
    objectSpanMethod({row, column, rowIndex, columnIndex}) {
      if (columnIndex === 0) {
        if (rowIndex % 2 === 0) {
          return [2, 1]
        } else if (rowIndex % 2 === 1) {
          return [0, 0]
        }
      }
    }
  }
}
</script>

<style scoped>

</style>
