Skip to main content

Table

A component that displays rows of organized data.

http://localhost:3000
<Table>
  <TableHeader>
    <TableRow>
      <TableColumn>No.</TableColumn>
      <TableColumn>Company name</TableColumn>
      <TableColumn>Country</TableColumn>
      <TableColumn>State</TableColumn>
      <TableColumn>Status</TableColumn>
    </TableRow>
  </TableHeader>
  <TableBody>
    <TableRow>
      <TableCell>001</TableCell>
      <TableCell>Starbucks</TableCell>
      <TableCell>United States</TableCell>
      <TableCell>Washington</TableCell>
      <TableCell>Active</TableCell>
    </TableRow>
    <TableRow>
      <TableCell>002</TableCell>
      <TableCell>Nike</TableCell>
      <TableCell>Canada</TableCell>
      <TableCell>Ottawa</TableCell>
      <TableCell>Active</TableCell>
    </TableRow>
    <TableRow>
      <TableCell>003</TableCell>
      <TableCell>09</TableCell>
      <TableCell>The Netherlands</TableCell>
      <TableCell>Eindhoven</TableCell>
      <TableCell>Active</TableCell>
    </TableRow>
    <TableRow>
      <TableCell>004</TableCell>
      <TableCell>02</TableCell>
      <TableCell>United Kingdom</TableCell>
      <TableCell>London</TableCell>
      <TableCell>Pending</TableCell>
    </TableRow>
    <TableRow>
      <TableCell>005</TableCell>
      <TableCell>Paystack</TableCell>
      <TableCell>Kenya</TableCell>
      <TableCell>Nairobi</TableCell>
      <TableCell>Pending</TableCell>
    </TableRow>
    <TableRow>
      <TableCell>006</TableCell>
      <TableCell>ING</TableCell>
      <TableCell>Poland</TableCell>
      <TableCell>Warsaw</TableCell>
      <TableCell>Deactivated</TableCell>
    </TableRow>
  </TableBody>
</Table>

Usage

Dense

Render a dense table with space is limited using the isDense prop.

http://localhost:3000
<Table isDense>
  <TableHeader>
    <TableRow>
      <TableColumn>No.</TableColumn>
      <TableColumn>Company name</TableColumn>
      <TableColumn>Country</TableColumn>
      <TableColumn>State</TableColumn>
      <TableColumn>Status</TableColumn>
    </TableRow>
  </TableHeader>
  <TableBody>
    <TableRow>
      <TableCell>001</TableCell>
      <TableCell>Starbucks</TableCell>
      <TableCell>United States</TableCell>
      <TableCell>Washington</TableCell>
      <TableCell>Active</TableCell>
    </TableRow>
    <TableRow>
      <TableCell>002</TableCell>
      <TableCell>Nike</TableCell>
      <TableCell>Canada</TableCell>
      <TableCell>Ottawa</TableCell>
      <TableCell>Active</TableCell>
    </TableRow>
    <TableRow>
      <TableCell>003</TableCell>
      <TableCell>09</TableCell>
      <TableCell>The Netherlands</TableCell>
      <TableCell>Eindhoven</TableCell>
      <TableCell>Active</TableCell>
    </TableRow>
    <TableRow>
      <TableCell>004</TableCell>
      <TableCell>02</TableCell>
      <TableCell>United Kingdom</TableCell>
      <TableCell>London</TableCell>
      <TableCell>Pending</TableCell>
    </TableRow>
    <TableRow>
      <TableCell>005</TableCell>
      <TableCell>Paystack</TableCell>
      <TableCell>Kenya</TableCell>
      <TableCell>Nairobi</TableCell>
      <TableCell>Pending</TableCell>
    </TableRow>
    <TableRow>
      <TableCell>006</TableCell>
      <TableCell>ING</TableCell>
      <TableCell>Poland</TableCell>
      <TableCell>Warsaw</TableCell>
      <TableCell>Deactivated</TableCell>
    </TableRow>
  </TableBody>
</Table>

Sort

Table columns support displaying a visual indicator of sorting.

http://localhost:3000
function Sort() {
  const [sortDirection, setSortDirection] = React.useState('asc');
  const [sortedColumn, setSortedColumn] = React.useState('name');

  const handleSort = (column) => {
    const isAsc = sortedColumn === column && sortDirection === 'asc';

    setSortDirection(isAsc ? 'desc' : 'asc');
    setSortedColumn(column);
  };

  return (
    <Table>
      <TableHeader>
        <TableRow>
          <TableColumn>No.</TableColumn>
          <TableColumn
            isActive={sortedColumn === 'name'}
            isSortable
            onClick={() => handleSort('name')}
            sortDirection={sortDirection}
          >
            Company name
          </TableColumn>
          <TableColumn>Country</TableColumn>
          <TableColumn>State</TableColumn>
          <TableColumn
            isActive={sortedColumn === 'status'}
            isSortable
            onClick={() => handleSort('status')}
            sortDirection={sortDirection}
          >
            Status
          </TableColumn>
        </TableRow>
      </TableHeader>
      <TableBody>
        <TableRow>
          <TableCell>001</TableCell>
          <TableCell>Starbucks</TableCell>
          <TableCell>United States</TableCell>
          <TableCell>Washington</TableCell>
          <TableCell>Active</TableCell>
        </TableRow>
        <TableRow>
          <TableCell>002</TableCell>
          <TableCell>Nike</TableCell>
          <TableCell>Canada</TableCell>
          <TableCell>Ottawa</TableCell>
          <TableCell>Active</TableCell>
        </TableRow>
        <TableRow>
          <TableCell>003</TableCell>
          <TableCell>09</TableCell>
          <TableCell>The Netherlands</TableCell>
          <TableCell>Eindhoven</TableCell>
          <TableCell>Active</TableCell>
        </TableRow>
        <TableRow>
          <TableCell>004</TableCell>
          <TableCell>02</TableCell>
          <TableCell>United Kingdom</TableCell>
          <TableCell>London</TableCell>
          <TableCell>Pending</TableCell>
        </TableRow>
        <TableRow>
          <TableCell>005</TableCell>
          <TableCell>Paystack</TableCell>
          <TableCell>Kenya</TableCell>
          <TableCell>Nairobi</TableCell>
          <TableCell>Pending</TableCell>
        </TableRow>
        <TableRow>
          <TableCell>006</TableCell>
          <TableCell>ING</TableCell>
          <TableCell>Poland</TableCell>
          <TableCell>Warsaw</TableCell>
          <TableCell>Deactivated</TableCell>
        </TableRow>
      </TableBody>
    </Table>
  );
}

Props

Table Props


as?The root element to be rendered

TableBody Props


as?The root element to be rendered

TableCell Props


as?The root element to be rendered

TableColumn Props


as?The root element to be rendered

TableFooter Props


as?The root element to be rendered

TableHeader Props


as?The root element to be rendered