Skip to main content
ListItem supplies the visual layout shared by list and menu rows. Use Menu or Select when you need their selection and keyboard behavior.

Action row

The default element is a div. Use render to give an interactive row appropriate semantics, such as a button or link. hotkeys displays shortcut hints; your application must register the shortcuts.

Selection indicator

selected, focused, and disabled control row styling. The check and checkbox indicators are visual; use a real Checkbox for a form control. When using a disabled button or link through render, also supply the element’s appropriate disabled behavior and semantics.

Slots

Use startIcon and endIcon for icons, description for supporting text, actions for trailing content, and hasSubmenu for a submenu indicator. descriptionPlacement accepts inline or end. color="danger" styles a destructive action. Avoid nesting interactive controls inside a row rendered as a button.

Props

The reference is generated from the public component types. Native attributes, including accessible names and event handlers, are also accepted on parts that render elements.
ReactNode
Trailing content, such as buttons, rendered after the content.
"neutral" | "danger"
default:"neutral"
Color of the text and icons. danger marks a destructive action.
ReactNode
Supporting text, placed according to descriptionPlacement.
"inline" | "end"
default:"inline"
Where the description renders: inline after the content or at the end of the row.
boolean
default:"false"
Prevents clicks and applies the disabled style.
ReactNode
Icon rendered after the content.
boolean
default:"false"
Applies the highlighted style, for example to the focused item of a list.
boolean
default:"false"
Shows a chevron indicating that the item opens a submenu.
string[]
Keyboard shortcut keys displayed at the end of the row. Registering the shortcut is up to the application.
"none" | "checkbox" | "check"
default:"none"
Selection indicator: a check icon after the content or a checkbox before it.
ReactElement<unknown, string | JSXElementConstructor<any>> | ComponentRenderFn<HTMLProps, ListItemState>
Allows you to replace the component’s HTML element with a different tag, or compose it with another component.Accepts a ReactElement or a function that returns the element to render.
boolean
default:"false"
Whether the item is selected. Shows the check or checkbox indicator when indicator is set.
ReactNode
Icon rendered before the content.