element table 合并属性span-method,在可动态手动添加一条数据情况下如何进行合并单元格

发布于 2022-09-12 03:43:43 字数 1456 浏览 20 评论 0

image.png
表格可在当前选择下新增行后相同的列会进行单元格合并,在一开始只有静态数据下课实现,一旦动态新增,合并单元格就会错乱了?请问如何使我在第一个指标列下点击新增,将会在第3行下新增一行之后并合并指标项单元格

    // 查找出合并的列
    getSpanArr(data) {
      for (let i = 0; i < data.length; i++) {
        if (i === 0) {
          this.spanArr.push(1)
          this.pos = 0
        } else {
          // 判断当前元素与上一个元素是否相同
          if (data[i].id === data[i - 1].id) {
            this.spanArr[this.pos] += 1
            this.spanArr.push(0)
          } else {
            this.spanArr.push(1)
            this.pos = i
          }
        }
        console.log('this.spanArr', this.spanArr)
      }
    },
    objectSpanMethod({ row, column, rowIndex, columnIndex }) {
      // 合并单元格
      if (columnIndex === 1) {
        const _row = this.spanArr[rowIndex]
        console.log('this.spanArr[rowIndex]', this.spanArr[rowIndex])
        const _col = _row > 0 ? 1 : 0
        console.log(`rowspan:${_row} colspan:${_col}`)
        return { // [0,0] 表示这一行不显示, [2,1]表示行的合并数
          rowspan: _row,
          colspan: _col,
        }
      }
    },
    addTarget(row, index) {
      console.log('index', index)
      console.log(row, this.tableData[index])
      this.tableData.splice(index + 1, 0, { id: row.id, name: '王小虎', status: 1 })
      this.$refs.plTable.doLayout()
      this.getSpanArr(this.tableData)
      console.log('this.tableData', this.tableData)
    },

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

驱逐舰岛风号 2022-09-19 03:43:43

之前遇到过这个问题,写了篇文章记录,供你参考,有问题沟通哈~
Element 表格动态合并并行或列的方式

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文