◇
DropdownMenu
16 partsA button-triggered menu of actions, opened on click and built on top of Menu,
so it inherits keyboard navigation, typeahead, nested submenus, and
checkbox/radio items. Unlike a context menu, it is anchored to a persistent
trigger button rather than the pointer.
Use it for action menus on a toolbar, an avatar, or a "more" button — settings,
row actions, account menus, and the like. The root owns open state and provides
context to every part; bind v-model:open (or listen to update:open) to
control or observe whether the menu is open.
Demo
Loading demo…
Anatomy
Import the parts and compose them. Each part forwards attributes to its underlying element.
vue
import {
DropdownMenuArrow,
DropdownMenuCheckboxItem,
DropdownMenuContent,
DropdownMenuGroup,
DropdownMenuItem,
DropdownMenuItemIndicator,
DropdownMenuLabel,
DropdownMenuPortal,
DropdownMenuRadioGroup,
DropdownMenuRadioItem,
DropdownMenuRoot,
DropdownMenuSeparator,
DropdownMenuSub,
DropdownMenuSubContent,
DropdownMenuSubTrigger,
DropdownMenuTrigger,
} from '@robonen/primitives/menus/dropdown-menu';
<DropdownMenuRoot>
<DropdownMenuArrow />
<DropdownMenuCheckboxItem />
<DropdownMenuContent />
<DropdownMenuGroup />
<DropdownMenuItem />
<DropdownMenuItemIndicator />
<DropdownMenuLabel />
<DropdownMenuPortal />
<DropdownMenuRadioGroup />
<DropdownMenuRadioItem />
<DropdownMenuSeparator />
<DropdownMenuSub />
<DropdownMenuSubContent />
<DropdownMenuSubTrigger />
<DropdownMenuTrigger />
</DropdownMenuRoot>