yarn add @leafygreen-ui/tablenpm install @leafygreen-ui/tableimport { Table, HeaderRow, TableHeader, Row, Cell } from '@leafygreen-ui/table';
<Table
data={defaultData}
columns={[
<TableHeader label="Name" />,
<TableHeader label="Age" />,
<TableHeader label="Color" sortBy={datum => datum.color} />,
<TableHeader label="Location" />,
]}
>
{({ datum }) => (
<Row key={datum.name}>
<Cell>{datum.name}</Cell>
<Cell>{datum.age}</Cell>
<Cell>{datum.color}</Cell>
<Cell>{datum.location}</Cell>
</Row>
)}
</Table>;| Prop | Type | Description | Default |
|---|---|---|---|
data |
Array<unknown> |
Data that will be rendered inside of the table | |
columns |
Array<React.ReactElement<HeaderRowProps, TableHeaderProps<Shape>>>, React.ReactFragment
|
Columns in the Table | |
children |
(datum, string) => JSX.Element |
Rows of the table | |
darkMode |
boolean |
Determines whether or not the component will appear in dark mode. | false |
baseFontSize |
14, 16
|
Font-size value that is applied to cell elements | 14 |
| ... | native table attributes |
Any other props will be spread on the root table element |
| Prop | Type | Description | Default |
|---|---|---|---|
children |
TableHeader components |
TableHeader components that comprise a header row in the table. |
|
| ... | native tr attributes |
Any other props will be spread on the root tr element |
| Prop | Type | Description | Default |
|---|---|---|---|
label |
string, React.ReactNode
|
Content that will be rendered inside of the th tags |
|
sortBy |
(data: any) => string, string
|
String or function that provides information about how the column should be sorted | |
dataType |
'number', 'weight', 'zipCode', 'string', 'date'
|
Describes the type of data in the column | |
compareFn |
(a: any, b: any, direction: 'asc' | 'desc') => number |
A callback to provide more customization in column sorting. This callback has a similar signature to the Array.sort method, with the addition of a direction parameter, which has values asc or desc. Pin a row to the top by returning -1 if a matches, and 1 if b matches the desired row |
|
handleSort |
(direction: 'asc' | 'desc') => void |
A callback that gets called when a user initiates sort on the column. Internal sorting is disabled when this callback is provided. | |
| ... | native th attributes |
Any other props will be spread on the root th element |
| Prop | Type | Description | Default |
|---|---|---|---|
disabled |
boolean |
Determines whether or not the row is disabled | false |
expanded |
boolean |
Determines whether or not the row is expanded on first render | false |
| ... | native tr attributes |
Any property that can be passed to a tr element will be spread on the root |
| Prop | Type | Description | Default |
|---|---|---|---|
children |
React.ReactNode |
Contents to appear inside of the Cell | |
className |
string |
className applied to td or th wrapper (see isHeader prop) |
|
isHeader |
boolean |
Renders the cell as a th element |
false |
| ... | native td or th attributes |
Any other props will be spread on the root td or th element |