Dropdown ドロップダウンメニュー
アクションメニューをトリガーの下に折りたたみ、ホバーまたはクリックで展開します。メニューは role="menu" セマンティクスで、
完全なキーボードナビゲーション(方向キー / Home / End / Enter / Esc)と roving tabindex をサポートします。
基本的な使い方
ホバー / クリックトリガーと命令的使い方
import { LhButton, LhDropdown, LhDropdownItem } from '@lh-ui/react'
export default function Demo() {
return (
<LhDropdown
onCommand={(command) => console.log(command)}
dropdown={
<>
<LhDropdownItem command="new">新規作成</LhDropdownItem>
<LhDropdownItem command="delete" disabled>
削除
</LhDropdownItem>
</>
}
>
<LhButton>展開</LhButton>
</LhDropdown>
)
}
Dropdown Props
| プロパティ | 説明 | 型 | 使用可能な値 | デフォルト値 |
|---|---|---|---|---|
| children | トリガーノード | ReactNode | — | — |
| dropdown | メニュー内容(LhDropdownItem のリスト。plus の #dropdown スロットに対応) | ReactNode | — | — |
| trigger | トリガー方式 | 'hover' | 'click' | 'contextmenu' | — | 'hover' |
| placement | 表示位置 | LhDropdownPlacement | top / bottom(-start / -end を含む)など | 'bottom-start' |
| disabled | 無効 | boolean | — | false |
| visible | 制御された表示状態 | boolean | — | — |
| defaultVisible | 非制御のデフォルト表示 | boolean | — | false |
| hideOnClick | メニュー項目クリック後に自動的に閉じるかどうか | boolean | — | true |
| maxHeight | メニューの最大高さ(超えるとスクロール) | string | number | — | — |
| popperClass | メニューのカスタムクラス名 | string | — | — |
| themeVars | コンポーネントレベルのテーマ変数 | Record<string, string> | — | — |
| sx | クイックレイアウトプロパティ(トリガーに作用) | SxProps | — | — |