com um clique
rezi-data-table
// Add a data table with sorting, selection, and keyboard navigation. Use when displaying tabular data.
// Add a data table with sorting, selection, and keyboard navigation. Use when displaying tabular data.
Create a new screen/page for a Rezi TUI application. Use when adding views, pages, or screens to an app.
Profile and optimize Rezi app performance. Use when app feels slow, frames drop, or render phases take too long.
Add routing with guards and nested outlets to a Rezi app. Use when building multi-page/screen TUI applications.
Set up form input handling with validation and submission. Use when building forms with inputs, selects, checkboxes, etc.
Add modal dialogs and overlay UI with focus trapping. Use when implementing confirmations, alerts, or layered interfaces.
Debug rendering and layout issues in Rezi apps. Use when UI looks wrong, has layout problems, or renders unexpectedly.
| name | rezi-data-table |
| description | Add a data table with sorting, selection, and keyboard navigation. Use when displaying tabular data. |
| user-invocable | true |
| allowed-tools | Read, Glob, Grep, Edit, Write |
| argument-hint | [data-source] |
| metadata | {"short-description":"Add data table"} |
Use this skill when:
packages/core/src/widgets/useTable.ts — useTable() hookpackages/core/src/widgets/types.ts — TablePropspackages/core/src/widgets/ui.ts — ui.table()packages/core/src/ui/recipes.ts — recipe.table() for design-system-consistent table stylingUse the useTable() hook inside a defineWidget:
import { defineWidget, ui, useTable } from "@rezi-ui/core";
const DataTable = defineWidget<{ items: Item[] }>((props, ctx) => {
const table = useTable(ctx, {
rows: props.items,
columns: [
{ key: "name", header: "Name", flex: 1 },
{ key: "size", header: "Size", width: 10, align: "right" },
],
getRowKey: (row) => row.id,
selectable: "multi",
});
return ui.table({
...table.props,
dsSize: "md",
dsTone: "default",
});
}, { name: "DataTable" });
Handle selection via table.selection (array of selected row keys)
Handle sorting via table.sortColumn and table.sortDirection
For large datasets, consider ui.virtualList() instead
Tables are recipe-styled by default when a ThemeDefinition preset is active.
Use dsSize / dsTone for explicit DS tuning when needed.