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非インタラクティブ

スタイルはキットトークンに留め、項目ごとの美学を主要 API として教えないでください。