Element-ui合并table表格列方法

    merageCell({ row, column, rowIndex, columnIndex }) {
      if (columnIndex === 0 || columnIndex === 1) {
        const property = columnIndex === 0 ? 'name' : 'firstDeptName';
        // 获取当前行的property,这里看自己的需要,改成根据哪个去判断
        const currentPropertyVal = row[property];
        // 获取当前property相同的有多少行
        const rowCount = this.deptList.filter(item => item[property] === currentPropertyVal).length;
        // 获取当前property在表格数据中的第一条数据索引
        const currentRowIndex = this.deptList.findIndex(item => item[property] === currentPropertyVal);
        // 判断当前行是否第一行
        const isFirstCell = rowIndex === currentRowIndex;
        // 判断当前行是否最后一行
        const isLastCell = rowIndex === (currentRowIndex + rowCount);
        // 如果是第一行,则显示这一行
        if (isFirstCell) {
          return {
            rowspan: rowCount,
            colspan: 1,
          };
          // 否则隐藏这一行
        } else if (!isFirstCell && !isLastCell) {
          return {
            rowspan: 0,
            colspan: 0,
          };
        }
      }
    },

可以根据业务中实际需要合并的列数,增加判断,及 property 的字段取值满足自己业务合并列的效果

你可能感兴趣的:(随笔,javascript,前端,开发语言)