el-table You may have an infinite update loop in a component render function.

266 阅读1分钟

在使用 elementUI 的表格的时候,需要合并单元格,使用了 :span-method 方法 定义了一个函数

当在函数里面使用vue data定义的数据时,就会出现无限循环的报错:You may have an infinite update loop in a component render function.
这时候 又需要一个不在函数里的变量来保存值,这时候想到了使用在vue实例外面定义一个变量:

let comptuedNum = 0
export default{
    methods:{
        mergeCells({row,column,rowIndex,columnIndex}){ // 把相同的合并成一个单元格
    
          if(columnIndex === 0){
            if(comptuedNum === 0){
              let arr =  this.materialStatisticsTwo.filter(item=>{return item.name === row.name}) 
              comptuedNum = arr.length-1
              return [arr.length,1]

            }else{ 
              comptuedNum -= 1
              return [0,0]
            }
          }
        }
    }
}

其余代码不变,把变量的调用不需要this也可以正常调用了,这样可以完美解决这个问题,当然也可以在函数里面进行别的操作来合并,但是我感觉这样是最简单的