Vue合并el-table第一列相同数据

业务需求:

需要将el-table表格第一列相同的内容进行合并。

解决办法:

el-table中使用 :span-method="objectSpanMethod"方法

vue标签


	  
	    
	    
	    
	    
	  	

methods内部处理

/* 表格合并列和行 */
objectSpanMethod({ row, column, rowIndex, columnIndex }) {
		if (columnIndex === 0) {
		  const _row = this.flitterData(this.contractList).one[rowIndex];
		  const _col = _row > 0 ? 1 : 0;
		  return {
		    rowspan: _row,
		    colspan: _col,
		  };
		}
	},
	/**合并表格的第一列,处理表格数据 */
	flitterData(arr) {
	  let spanOneArr = [];
	  let concatOne = 0;
	  arr.forEach((item, index) => {
	    if (index === 0) {
	      spanOneArr.push(1);
	    } else {
	    //注意这里的quarterly是表格绑定的字段,根据自己的需求来改
	      if (item.quarterly === arr[index - 1].quarterly) {
	        //第一列需合并相同内容的判断条件
	        spanOneArr[concatOne] += 1;
	        spanOneArr.push(0);
	      } else {
	        spanOneArr.push(1);
	        concatOne = index;
	      }
	    }
	  });
	  return {
	    one: spanOneArr,
	  };
	},

效果展示

Vue合并el-table第一列相同数据_第1张图片

你可能感兴趣的:(Vue,vue.js,javascript,前端)