Skip to content

Dropdown

Menu construído com componentes compostos. Compose trigger, content, items, separators e submenus opcionais.

Anatomia

vue
<script setup lang="ts">
import {
  Dropdown,
  DropdownTrigger,
  DropdownContent,
  DropdownItem,
  DropdownSeparator,
  DropdownSub,
  DropdownSubTrigger,
  DropdownSubContent,
  Button,
} from 'pomikit-ui'
</script>

<template>
  <Dropdown>
    <DropdownTrigger>
      <Button>Actions</Button>
    </DropdownTrigger>
    <DropdownContent>
      <DropdownItem icon="pencil" shortcut="F2">Rename</DropdownItem>
      <DropdownItem icon="copy">Duplicate</DropdownItem>
      <DropdownSeparator />
      <DropdownSub>
        <DropdownSubTrigger>More</DropdownSubTrigger>
        <DropdownSubContent>
          <DropdownItem>Archive</DropdownItem>
          <DropdownItem>Export</DropdownItem>
        </DropdownSubContent>
      </DropdownSub>
      <DropdownSeparator />
      <DropdownItem tone="danger" icon="trash">Delete</DropdownItem>
    </DropdownContent>
  </Dropdown>
</template>

Partes

ComponentRole
DropdownRoot (v-model:open, modal)
DropdownTriggerAbre o menu
DropdownContentPainel posicionado
DropdownItemLinha de ação (evento select)
DropdownSeparatorDivisor visual
DropdownSubRoot de menu aninhado
DropdownSubTriggerAbre o submenu
DropdownSubContentPainel aninhado

Props de Item

PropNotes
iconNome de ícone built-in, ou slot #icon
shortcutTexto de atalho de teclado
activeMarca a seleção atual
tone'neutral' | 'danger'
disabledNão interativo

Mantenha o estilo nos tokens do kit; evite ensinar estética por item como API primária.