Dropdown Menu
컨텍스트 메뉴, 액션 메뉴를 표시하는 드롭다운 컴포넌트입니다.
키보드 네비게이션, 서브메뉴, 단축키 표시 등을 지원합니다.
키보드 네비게이션, 서브메뉴, 단축키 표시 등을 지원합니다.
설치
Terminal
npx @msub-core/ui-cli add dropdown-menu
기본 사용
DropdownMenu와 하위 컴포넌트를 조합하여 사용합니다.
TSX
import {
DropdownMenu,
DropdownMenuTrigger,
DropdownMenuContent,
DropdownMenuItem,
DropdownMenuSeparator,
} from "@msub-core/ui/components/dropdown-menu"
<DropdownMenu>
<DropdownMenuTrigger asChild>
<Button variant="outline">메뉴</Button>
</DropdownMenuTrigger>
<DropdownMenuContent>
<DropdownMenuItem>
<Edit className="h-4 w-4 mr-2" />
수정
</DropdownMenuItem>
<DropdownMenuItem>
<Copy className="h-4 w-4 mr-2" />
복사
</DropdownMenuItem>
<DropdownMenuSeparator />
<DropdownMenuItem variant="destructive">
<Trash2 className="h-4 w-4 mr-2" />
삭제
</DropdownMenuItem>
</DropdownMenuContent>
</DropdownMenu>정렬 (Align)
메뉴의 수평 정렬을 지정할 수 있습니다.
단축키 표시
shortcut prop으로 키보드 단축키를 표시할 수 있습니다.
레이블과 그룹
DropdownMenuLabel로 섹션을 구분하고 DropdownMenuGroup으로 그룹화할 수 있습니다.
서브메뉴
DropdownMenuSub를 사용하여 중첩 메뉴를 만들 수 있습니다.
TSX
<DropdownMenu>
<DropdownMenuTrigger asChild>
<Button>공유</Button>
</DropdownMenuTrigger>
<DropdownMenuContent>
<DropdownMenuSub>
<DropdownMenuSubTrigger icon={<Mail />}>
이메일로 공유
</DropdownMenuSubTrigger>
<DropdownMenuSubContent>
<DropdownMenuItem>Gmail</DropdownMenuItem>
<DropdownMenuItem>Outlook</DropdownMenuItem>
</DropdownMenuSubContent>
</DropdownMenuSub>
<DropdownMenuItem>
<Copy className="h-4 w-4 mr-2" />
링크 복사
</DropdownMenuItem>
</DropdownMenuContent>
</DropdownMenu>비활성화 아이템
disabled prop으로 특정 아이템을 비활성화할 수 있습니다.
실제 사용 예시
테이블 행 액션 메뉴
컴포넌트 목록
DropdownMenu
루트 컨테이너
DropdownMenuTrigger
메뉴 열기 트리거
DropdownMenuContent
메뉴 내용 컨테이너
DropdownMenuItem
메뉴 아이템
DropdownMenuLabel
섹션 레이블
DropdownMenuSeparator
구분선
DropdownMenuGroup
아이템 그룹
DropdownMenuSub
서브메뉴 컨테이너
DropdownMenuSubTrigger
서브메뉴 트리거