La tabla vue el-table combina filas dinámicamente en función de los datos adquiridos

1. Requisitos: a juzgar por el contenido de la primera columna de la tabla, si los valores son iguales, estas filas en la primera columna se fusionarán en la misma fila 2. Efecto: 3. Método de implementación:
1.
inserte la descripción de la imagen aquí
Establecer
el método del método span para la tabla

<el-table
              :data="data"
              :span-method="objectSpanMethod"      //method
              style="width: 100%;"
              max-height="500"
              :row-style="{ height: '50px' }"
            >
              <el-table-column prop="datasetUrl" label="数据集" width="130"  >
              </el-table-column>
              <el-table-column prop="columnName" label="特征名称" >
              </el-table-column>

2. método
(1), procesar datos, pasar la matriz de la tabla y llamar cuando se obtiene la matriz

getSpanArr(data) { 
    this.spanArr = []
      for (var i = 0; i < data.length; i++) {
            if (i === 0) {
                  this.spanArr.push(1);  //空数组,用来记录需要合并的行数
                  this.pos = 0  //标识
            } else {
              // 判断当前元素与上一个元素是否相同⬇️
        if (data[i].datasetUrl === data[i - 1].datasetUrl) {
                    this.spanArr[this.pos] += 1;
                    this.spanArr.push(0);    //相同则上一行合并数+1,本行合并数为0
                  } else {
                    this.spanArr.push(1);   //不相同则另起一行
                    this.pos = i;
                  }
            }
        }
    },

(2), el método de vinculación de tablas, ingrese el número de filas y columnas, la identificación de filas y columnas, y realice la operación de combinación

objectSpanMethod({ row, column, rowIndex, columnIndex }) {
         
        if (columnIndex === 0) {    //如果是第一列
          const _row = this.spanArr[rowIndex];   //将每一行传入上述方法,获取到每一行的合并行数
            const _col = _row > 0 ? 1 : 0;
            return {
                  rowspan: _row,   //合并行
                  colspan: _col    //合并列
            }
        }
      },

3. Cambie el estilo de acuerdo con las necesidades reales y recuerde usar el estilo vue para penetrar cuando el elemento no esté disponible.

Listo ✅

Supongo que te gusta

Origin blog.csdn.net/buukyjmvni/article/details/120524004
Recomendado
Clasificación