Skip to content

Dropdown

复合组件构成的菜单。组合 trigger、content、items、分隔符以及可选的子菜单。

结构

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>

部件

Component角色
Dropdown根(v-model:openmodal
DropdownTrigger打开菜单
DropdownContent定位面板
DropdownItem操作行(select 事件)
DropdownSeparator视觉分隔
DropdownSub嵌套菜单根
DropdownSubTrigger打开子菜单
DropdownSubContent嵌套面板

Item props

Prop说明
icon内置图标名,或 #icon 插槽
shortcut键盘提示文本
active标记当前选择
tone'neutral' | 'danger'
disabled不可交互

样式保持在套件 tokens 上;避免把按项美学当作主要 API 来教。