Docs
Edit and act

Row actions

Choose row consultation, editing, links, and application callbacks.

Decide what activating a record should do before adding row actions. Use consultation for reading, an edit form for changes, and explicit links for navigation.

Built-in capabilities

allowCreate, allowEdit, allowDuplicate and allowDelete control built-in affordances. Supply the corresponding create, update, duplicate and delete actions. Row guards refine permissions. Do not enable a mutation merely to show its button when no handler exists.

Row click modes

rowClickMode accepts default, activate, edit, link or none. default opens the record view in every display mode — the application's onOpenDetails/onRowActivate when provided, otherwise the built-in record view, with fields derived from the columns when details is not given. enableRowClickEdit or rowClickMode: 'edit' opens the edit form instead, and a row-link column still navigates. Pass details={false} (:details="false" in Vue) to remove the built-in record view, or rowClickMode: 'none' to turn clicks off entirely. Use onRowActivate to coordinate a host detail panel; onRowClick handles row-link navigation. Row action menus show the Info entry whenever the record view is reachable. Keep links and inline editing separate from row-click editing.

Complete examples

See record consultation for a working detail configuration, permissions for row predicates, and the record recipe for editing, activity and undo. DataTable reference documents callback parameters; React bulk callbacks receive TanStack rows, whereas Vue receives records directly.

Custom row actions

DataTable.rowActions appends application actions to the standard menu. Each item has type, label, an optional icon, disabled (boolean or row predicate), and onClick(row). Use React's icon node or Vue's iconComponent for framework-native icons. The backend must recheck permissions. Native media configuration supplies Preview and Copy link automatically; avoid adding duplicate actions. Info opens the record and is distinct from Preview.

Try it inline

Select rows, open the actions menu and compare the available operations for a locked record.

Expand ↗

Sample data. Changes stay in this preview.

Expand ↗

Sample data. Changes stay in this preview.