DS0
Components

DropdownMenu

A menu of actions triggered by a button with keyboard navigation.

Overview

DropdownMenu displays a list of actions when a trigger button is clicked. Supports items, sub-menus, separators, checkable items, and radio groups.

Usage

<DropdownMenu>
  <DropdownMenu.Trigger>
    <Button variant="outline">Options</Button>
  </DropdownMenu.Trigger>
  <DropdownMenu.Content>
    <DropdownMenu.Item onSelect={handleEdit}>Edit</DropdownMenu.Item>
    <DropdownMenu.Item onSelect={handleDuplicate}>Duplicate</DropdownMenu.Item>
    <DropdownMenu.Separator />
    <DropdownMenu.Item onSelect={handleDelete} variant="destructive">Delete</DropdownMenu.Item>
  </DropdownMenu.Content>
</DropdownMenu>

Accessibility

KeyAction
Enter / SpaceOpen menu or select item
ArrowDown/UpNavigate items
ArrowRightOpen sub-menu
EscapeClose menu
  • Uses role="menu" with role="menuitem" children
  • Trigger has aria-haspopup="menu" and aria-expanded

API Reference

PropTypeDefaultDescription
childrenReactNodeTrigger and Content
modalbooleantrueRender as modal
ComponentWhen to Use Instead
ContextMenuRight-click triggered menu
MenubarHorizontal menu bar
SelectValue selection from a list
CommandPaletteSearchable command interface

On this page