vanilla-framework-react icon indicating copy to clipboard operation
vanilla-framework-react copied to clipboard

Static Table component issues

Open bartaz opened this issue 7 years ago • 0 comments

I tried to use Table component to render a static table and found it quite hard to use and debug.

It seems to be making a lot of assumptions about children nodes.

1 Table doesn't render if there is no header row.

If there are only data rows (no heading) table just silently doesn't render at all:

<Table>
   <TableRow>
      <TableCell>Test</TableCell>
   </TableRow>
</Table>
screen shot 2018-06-27 at 11 08 10

Seems like a row with tableHeading is required, even if not needed at all.

2 Table throws an error if there are now rows

If there are no data rows (table is empty or has only heading) Table throws an error that it cannot call forEach:

<Table></Table>
screen shot 2018-06-27 at 11 07 30

Expected

Table component (especially if meant to be used as simple static component) shouldn't make the assumptions about existence of it's children. If I call <Table></Table> I expect empty table to be rendered. If some rows are required for some reason that should at least clearly warn/error about it in the console (not throw a JS error). Ideally tableHeading should not be needed by the table. It's weird to be using hasHeading on a Table to hide heading row. Especially that it's still required in the markup.

bartaz avatar Jun 27 '18 09:06 bartaz