import React from 'react'; import './MergedCellTable.css'; export default function MergedCellTable({ data = [], columns = [] }) { const merged = data.map((row) => ({ ...row, _first: {}, _span: {} })); columns.filter((c) => c.merge).forEach((c) => { let i = 0; while (i < merged.length) { let j = i; while (j + 1 < merged.length && merged[j + 1][c.key] === merged[i][c.key]) j++; const span = j - i + 1; for (let k = i; k <= j; k++) { merged[k]._first[c.key] = k === i; merged[k]._span[c.key] = span; } i = j + 1; } }); return (
| {c.title} | ))}
|---|
| {row[c.key]} | ) : null )}