type MainOption = {
header: {
label: string,
}[]
};
export function TableElement(mainOption: MainOption, bodyList: { element: JSX.Element }[][]) {
if (mainOption.header.length <= 0) {
throw new Error(`カラムの数は1以上にして下さい`);
}
const headerElementList: JSX.Element[] = [];
for (const h of mainOption.header) {
const index = mainOption.header.indexOf(h);
headerElementList.push(
{h.label} |
);
}
const bodyElementList: JSX.Element[] = [];
let trIndex = 0;
for (const body of bodyList) {
const tdElementList: JSX.Element[] = [];
for (let i = 0; i < mainOption.header.length; i++) {
const tdBody: { element: JSX.Element } = body[i];
tdElementList.push({tdBody.element} | );
}
bodyElementList.push(
{tdElementList}
);
trIndex += 1;
}
return (
{headerElementList}
{bodyElementList}
);
}