el-table复杂表格

文档 ↓

https://element.eleme.cn/#/zh-CN/component/table#table-column-scoped-slot

假如我们要做一个如下表格 ↓

在template中 ↓

        
          
            
            
          
          
          
          
          
        

data中 ↓

      rewardData: [
        {
          hide1: "短篇小说",
          hide2: "长篇小说",
          name: "西游记",
          grandMoney: 100,
          patentGoldMoney: 80,
          govermentRemark:
            "哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈全是我的哈哈哈哈",
        },
        {
          name: "红楼梦",
          grandMoney: 100,
          patentGoldMoney: 80
        },
        {
          name: "水浒传",
          grandMoney: 100,
          patentGoldMoney: 80
        },
        {
          name: "三国演义",
          grandMoney: 100,
          patentGoldMoney: 80
        },
        {
          name: "如果世上没有猫",
          grandMoney: 100,
          patentGoldMoney: 80
        },
        {
          name: "第七天",
          grandMoney: 100,
          patentGoldMoney: 80
        },
      ]

methods中 ↓

    rewardSpanMethod({ rowIndex, columnIndex }) {
        if(columnIndex == 0 || columnIndex ==1 || columnIndex == 5){
            if(rowIndex == 0){
                return [6,1]
            }else{
                return [0,0]
            }
        }
    },
    rewardHeaderStyle({ rowIndex, columnIndex }) {
      if (rowIndex == 1) {
        if (columnIndex == 0 || columnIndex == 1) {
          return { display: "none" };
        }
      }
    },

我们看到rewarData里的第一个数据与其它的有些不同。
“种类”这一项下只有两组数据,分别为“短篇小说”和“长篇小说”。

先把表格header(rewardHeaderStyle)里的样式取消,表格就变成了 ↓

下图代码代表我们只留下header里的第一行,将第二行隐藏。

详细点讲就是,表格第二行与(表格第一列或第二列)同时满足时,display为none。

而第一列和第二列和第六列都同时覆盖了包括自己在内的六行。

tada~~
一个复杂表格就完成啦~

你可能感兴趣的:(el-table复杂表格)