Table

Rows and columns with sorting, filtering, selection, expansion, fixed headers and columns, and its own pagination.

Basic

Pass columns and dataSource with a rowKey for a paged table, and use a column's render to show a Tag or a Badge in its cells.

Size and border

Set size to small, medium (the default) or large to change the row height, and add bordered for lines around every cell.

Column alignment

Set a column's align to "start", "center" or "end" to place its header and cells, like amounts on the end edge.

No row hover

Set rowHoverable to false to stop rows from highlighting under the pointer, which they do by default.

Sorting

Give a column a sorter to sort it from its header, and a multiple priority on several columns to sort by all of them at once.

Filtering

Give a column filters and an onFilter function to add a filter menu to its header, like picking environments or statuses.

Single-choice filter

Set filterMultiple to false so a column's filter menu picks one value at a time.
Set filterSearch to add a search box to a long filter menu, like a list of owners.

Tree filter

Set filterMode to "tree" and nest children in filters to group the choices, like regions under a continent.

Row selection

Pass rowSelection to add a checkbox to each row, and return disabled from getCheckboxProps for rows that cannot be picked.

Expandable rows

Set expandable.expandedRowRender to open a row's details under it, and expandRowByClick to open them from anywhere on the row.

Grouped columns

Nest columns in a column's children to group them under one header, and sorters and filters still work on the nested columns.

Responsive columns

Give a column responsive breakpoints, like ["md"], to show it only on screens that wide, so Owner and Last deploy hide on a narrow window.

Fixed header

Set scroll.y to a height so the rows scroll under a header that stays in place.

Horizontal scroll

Give each column a width and set scroll.x to "max-content", so a wide table scrolls sideways inside its container.

Fixed columns

Mark a column fixed: "left" or fixed: "right" on a scrolling table to keep it in place, like the name and the row actions menu.

Summary row

Return a Table.Summary.Row from summary for a totals row, and wrap it in Table.Summary fixed with a scroll.y so the header and the totals stay in view.

Ellipsis

Set a column's ellipsis to cut long text at the cell's width, and pass showTitle: false with a Tooltip to show the full value on hover.
Return a node from title and footer to add a bar above the header and below the rows, like a caption and a row count.

Empty

Pass an Empty with an action as locale.emptyText to replace the message a table shows when it has no rows.

Loading state

Set loading to show a spinner over the rows while the data refreshes, like after a click on Refresh.

Editable cells

Return a controlled borderless Input or Select, a spinner InputNumber or a Switch from each column's render to make every cell editable, writing each change back to your data.

Row actions

Add a last column that renders a Dropdown behind a more button, for actions like viewing logs or deleting a row.

In context

The component inside real screens, with the components it usually sits beside.

Team members

A team members card with avatars, a role tag, a status badge and a menu of actions on each row, five members per page.

API Reference

Table
Table's props. Rows marked antuikit in the Version column are added by the kit.
Column
Column's props. Rows marked antuikit in the Version column are added by the kit.
ColumnGroup
ColumnGroup's props.
pagination
pagination's props. Rows marked antuikit in the Version column are added by the kit.
expandable
expandable's props.
rowSelection
rowSelection's props.
scroll
scroll's props.
selection
selection's props.