dropdown-menu
Dropdown Menu
A menu that opens from a button, with actions, checkbox and radio items, labelled groups and destructive entries, such as account or sort options.
States: Default, Focus, Disabled
Parts
| Part | File | Does |
|---|---|---|
| DropdownMenu | DropdownMenu.vue | Groups all parts of the dropdown menu. |
| DropdownMenuCheckboxItem | DropdownMenuCheckboxItem.vue | Lets the user switch an option on or off from the menu. |
| DropdownMenuContent | DropdownMenuContent.vue | Holds the entries the dropdown menu shows while open. |
| DropdownMenuGroup | DropdownMenuGroup.vue | Groups related entries of the dropdown menu. |
| DropdownMenuItem | DropdownMenuItem.vue | Holds one action the user can pick from the dropdown menu. |
| DropdownMenuLabel | DropdownMenuLabel.vue | Labels a group of entries in the dropdown menu. |
| DropdownMenuPortal | DropdownMenuPortal.vue | Places the menu content above the rest of the page. |
| DropdownMenuRadioGroup | DropdownMenuRadioGroup.vue | Groups radio items so the user can pick exactly one. |
| DropdownMenuRadioItem | DropdownMenuRadioItem.vue | Lets the user choose one option from a group in the menu. |
| DropdownMenuSeparator | DropdownMenuSeparator.vue | Separates groups of entries in the dropdown menu. |
| DropdownMenuShortcut | DropdownMenuShortcut.vue | Shows the keyboard shortcut for a menu item. |
| DropdownMenuSub | DropdownMenuSub.vue | Groups a submenu trigger with the nested menu it opens. |
| DropdownMenuSubContent | DropdownMenuSubContent.vue | Holds the entries the submenu shows while open. |
| DropdownMenuSubTrigger | DropdownMenuSubTrigger.vue | Opens a submenu from an item of the dropdown menu. |
| DropdownMenuTrigger | DropdownMenuTrigger.vue | Opens and closes the dropdown menu. |
Anatomy
<DropdownMenu>
<DropdownMenuTrigger />
<DropdownMenuContent>
<DropdownMenuLabel />
<DropdownMenuSeparator />
<DropdownMenuGroup>
<DropdownMenuItem />
<DropdownMenuSub>
<DropdownMenuSubTrigger />
<DropdownMenuSubContent>
<DropdownMenuRadioGroup>
<DropdownMenuRadioItem />
</DropdownMenuRadioGroup>
</DropdownMenuSubContent>
</DropdownMenuSub>
</DropdownMenuGroup>
<DropdownMenuCheckboxItem />
<DropdownMenuItem />
</DropdownMenuContent>
</DropdownMenu>Styling
| Part | Recipe |
|---|---|
| DropdownMenuCheckboxItem | dropdown-menu-item |
| DropdownMenuContent | dropdown-menu-content |
| DropdownMenuItem | dropdown-menu-item |
| DropdownMenuLabel | dropdown-menu-label |
| DropdownMenuRadioItem | dropdown-menu-item |
| DropdownMenuSeparator | dropdown-menu-separator |
| DropdownMenuShortcut | dropdown-menu-shortcut |
| DropdownMenuSubContent | dropdown-menu-sub-content |
| DropdownMenuSubTrigger | dropdown-menu-sub-trigger |
Install
Writes 16 files into components/ui/dropdown-menu/. For agents, npx @frontic/ui docs dropdown-menu prints this reference as markdown; the MCP server serves the same.
- npm packages
- @lucide/vue
- @vueuse/core
- class-variance-authority
- reka-ui
API reference
DropdownMenu DropdownMenu.vue
Groups all parts of the dropdown menu.
| Prop | Type | Default | |
|---|---|---|---|
| defaultOpen | boolean | false | |
| open | boolean | — | |
| dir | Direction | — | |
| modal | boolean | true | |
| Event | Payload | |
|---|---|---|
| update:open | payload: boolean | |
| Slot | Slot props | |
|---|---|---|
| default | { open: boolean; } | |
DropdownMenuCheckboxItem DropdownMenuCheckboxItem.vue
DropdownMenuContent DropdownMenuContent.vue
DropdownMenuGroup DropdownMenuGroup.vue
DropdownMenuItem DropdownMenuItem.vue
DropdownMenuLabel DropdownMenuLabel.vue
DropdownMenuPortal DropdownMenuPortal.vue
DropdownMenuRadioGroup DropdownMenuRadioGroup.vue
DropdownMenuRadioItem DropdownMenuRadioItem.vue
DropdownMenuSeparator DropdownMenuSeparator.vue
DropdownMenuShortcut DropdownMenuShortcut.vue
DropdownMenuSub DropdownMenuSub.vue
DropdownMenuSubContent DropdownMenuSubContent.vue
DropdownMenuSubTrigger DropdownMenuSubTrigger.vue
DropdownMenuTrigger DropdownMenuTrigger.vue
Example