关于element组件table合并单元格数据偏移问题

// 页面布局 合并单元格逻辑 :span-method = 'objectSpanMethod'
<el-table :header-cell-style="{background: '#edfdf9'}" :span-method="objectSpanMethod" :data="listNum" border style="width: 100%; margin-top: 0px">
  <el-table-column prop="itemName" label="项目">
  </el-table-column>
  <el-table-column prop="itemScore" label="成绩">
  </el-table-column>
  <el-table-column prop="itemResult" label="得分">
  </el-table-column>
</el-table>

 最近项目需要合并table的除表头外的第一行的第二列 + 除表头外的第二行的第二列 ,看了一下element文档 Element - The world's most popular Vue UI frameworkElement,一套为开发者、设计师和产品经理准备的基于 Vue 2.0 的桌面端组件库https://element.eleme.cn/#/zh-CN/component/installation ,合并单元格完成后发现数据会偏移导致显示不正确,百度半天也测试了好多方法都没有达到想要的结果,虽然没效果但是也总结出了前人的一些经验,最终想到隐藏原有数据的办法,试了一下问题解决了,上代码:

 // 合并单元格 rowIndex=行数  columnIndex=列数  
 // 这里是合并table的除表头外的第一行的第二列 + 除表头外的第二行的第二列 
 // 注意列数和行数从 0 开始
    objectSpanMethod ({ row, column, rowIndex, columnIndex }) {
      if (columnIndex === 1 && rowIndex == 0) {
        let rowspan = 2
        let colspan = 1
        return { rowspan, colspan }
      }
    // 解决偏移的重要代码
    // 重点在 else if 判断必须加因为合并单元格数据会出现偏移、
    // 否则如果是 第二行 的 第二列 那么隐藏原有第二行 的 第二列的数据使他隐藏
      else if (rowIndex === 1 && columnIndex == 1) {
        return {
          rowspan: 0,  
          colspan: 0  
        }
      }
    },

总结:虽然有时候遇到的问题和前人的问题不同达不到自己想要的结果,但是也要认真思考前人的逻辑从而总结经验,生成自己的一套解决问题的办法达到自己想要的结果。欢迎各位大佬的不同看法,如有更好的请分享一下会给您点赞的

各位程序猿,看了如果好用就点个赞呗!!同时不懂的欢迎提问我们共同进步

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值