Tree (UI SDK): Loading children
Mark an item branch before its children exist, and loadChildren runs the first time it opens. The chevron turns into a spinner while it loads, and into a retry icon if it fails. Archive fails once.
users
orders
archive
This adds the example as components/examples/ui-sdk-tree/lazy.tsx, together with the Tree component and the HextaUI theme tokens it needs.
pnpm dlx shadcn@latest add https://hextaui.com/r/ui-sdk-tree-lazy.jsonTo add only the component, follow the Tree installation.
Props in this example
The Tree props this example sets, from the API reference.
| Prop | Type | Default |
|---|---|---|
loadChildren | (value, { signal }) => Promise<unknown> | – |
| Prop | Type | Default |
|---|---|---|
valueUnique in the tree. | string | – |
branchSet it for a branch whose children load later. | boolean | – |
Every prop is in the Tree API reference.
- Items as data
- File paths
- Multiple selection
- Checkboxes
- Navigation
- Lines and small size
- Controller
- Find in page
- Disabled
- Right to left
See them all, with keyboard support and accessibility notes, on the Tree page.
- AvatarUser photos with an initials fallback, status badges and stacked groups that collapse into a count.
- BadgeStatus labels with colored dots, removable tags that slide closed and counts that roll to their new value.
- CardA surface for grouping content, with three variants, edge-to-edge media, concentric radii and whole-card links.
- ChartRecharts charts with themed colors, a tooltip and legend that read labels from one config, and keyboard navigation with a visible focus ring.
- Data tableA table for real data, with sorting, search, row selection, pinned columns, a sticky header and pagination.
- ItemA row of media, text and actions for lists, settings and pickers, with a grouped surface and a hover highlight that glides between rows.