본문으로 건너뛰기

Dropdown

드롭다운 컴포넌트는 숨겨진 메뉴나 옵션 목록을 제공하는 UI 요소입니다. 사용자가 아이콘, 버튼 또는 아바타를 클릭하면 해당 컨텍스트 메뉴가 표시됩니다. 많은 수의 작업이나 옵션을 제한된 공간에 표시해야 할 때 유용합니다.

인터랙티브 예제

다양한 속성을 직접 조절하여 드롭다운 컴포넌트를 테스트해보세요.

triggerTypeselect
트리거 타입을 선택합니다.
triggerIconNameselect
아이콘 트리거의 아이콘을 선택합니다.
triggerButtonTextstring
버튼 트리거의 텍스트를 입력합니다.
triggerAvatarSrcstring
아바타 트리거의 이미지 URL을 입력합니다.
alignselect
드롭다운 정렬을 선택합니다.
headerTypeselect
헤더 타입을 선택합니다.
headerTitlestring
헤더 제목을 입력합니다.
headerAvatarSrcstring
헤더 아바타 이미지 URL을 입력합니다.
headerSubtitlestring
헤더 부제목을 입력합니다.
showIconItemsboolean
아이콘이 있는 항목을 표시할지 선택합니다.
showShortcutItemsboolean
단축키가 있는 항목을 표시할지 선택합니다.
showDisabledItemboolean
비활성화된 항목을 표시할지 선택합니다.
showDangerItemboolean
위험한 항목을 표시할지 선택합니다.

기본 사용법

import { Dropdown } from '@ui-admin/components/dropdown';

const MyComponent = () => {
return (
<Dropdown
trigger={{ type: 'icon' }}
groups={[
{
items: [
{
id: 'item1',
text: '메뉴 항목',
onClick: () => console.log('메뉴 항목 클릭됨'),
},
],
},
]}
/>
);
};

트리거 유형

드롭다운은 세 가지 트리거 유형을 지원합니다: icon, avatar, button.

아이콘 트리거

아바타 트리거

버튼 트리거

헤더 표시

드롭다운은 두 가지 유형의 헤더를 지원합니다: avatar 또는 text.

아바타 헤더

avatar
김커머스
kim@nhn-commerce.com
회원정보 수정
avatar
김커머스
kim@nhn-commerce.com
회원정보 수정

텍스트 헤더

드롭다운 헤더
회원정보 수정
드롭다운 헤더
회원정보 수정

정렬 방향

드롭다운 메뉴는 왼쪽 또는 오른쪽으로 정렬할 수 있습니다.

왼쪽 정렬 (기본값)

회원정보 수정
회원정보 수정

오른쪽 정렬

회원정보 수정
회원정보 수정

드롭다운 항목

아이콘 항목

회원정보 수정
내 쇼핑몰 관리
회원정보 수정
내 쇼핑몰 관리

단축키 표시

복사하기
⌘C
붙여넣기
⌘V
복사하기
⌘C
붙여넣기
⌘V

비활성화된 항목

활성화된 항목
비활성화된 항목
활성화된 항목
비활성화된 항목

위험 항목

위험 항목은 빨간색으로 표시되며 일반적으로 삭제나 로그아웃 같은 주의가 필요한 작업에 사용됩니다.

내 쇼핑몰 관리
로그아웃
내 쇼핑몰 관리
로그아웃

그룹 구분

여러 그룹을 사용하면 항목 사이에 구분선이 표시됩니다.

그룹 1 항목 1
그룹 1 항목 2
그룹 2 항목 1
그룹 2 항목 2
그룹 3 항목 1
그룹 1 항목 1
그룹 1 항목 2
그룹 2 항목 1
그룹 2 항목 2
그룹 3 항목 1

Props

PropTypeDefaultDescription
trigger'AvatarTrigger | TextTrigger | ButtonTrigger | IconTrigger | CustomTrigger'-드롭다운을 열기 위한 트리거 타입
align'left' | 'right''left'드롭다운 메뉴의 정렬 방향
headerDropdownHeaderType-드롭다운 메뉴 상단에 표시할 헤더 정보
groupsDropdownGroup[][]드롭다운 메뉴 항목 그룹 배열
classNamestring-드롭다운 컨테이너에 추가할 CSS 클래스
closeOnClickItembooleantrue항목 클릭 시 드롭다운 닫기 여부
closeOnClickOutsidebooleantrue드롭다운 외부 클릭 시 닫기 여부
openedbooleanfalse드롭다운이 초기에 열린 상태로 표기됨

Trigger Types

IconTrigger

PropTypeDefaultDescription
type'icon'-트리거 타입 (필수)
iconIconName-표시할 아이콘 이름 (선택적)

AvatarTrigger

PropTypeDefaultDescription
type'avatar'-트리거 타입 (필수)
avatarstring-표시할 아바타 이미지 경로

ButtonTrigger

PropTypeDefaultDescription
type'button'-트리거 타입 (필수)
textstring-버튼에 표시할 텍스트

TextTrigger

PropTypeDefaultDescription
type'text'-트리거 타입 (필수)
titlestring-표시할 텍스트

CustomTrigger

PropTypeDefaultDescription
type'custom'-트리거 타입 (필수)
contentReact.ReactNode-커스텀 트리거 컨텐츠

드롭다운은 두 가지 헤더 타입을 지원합니다: AvatarHeader 또는 TextHeader.

AvatarHeader

PropTypeDefaultDescription
type'avatar'-헤더 유형
avatarstring-표시할 아바타 이미지 경로
titlestring-헤더에 표시할 제목
subtitlestring-헤더에 표시할 부제목

TextHeader

PropTypeDefaultDescription
type'text'-헤더 유형
titlestring-헤더에 표시할 제목
PropTypeDefaultDescription
itemsDropdownItemType[]-그룹에 포함된 항목 배열
PropTypeDefaultDescription
idstring-항목의 고유 식별자
textstring-항목에 표시할 텍스트
iconIconName-항목 왼쪽에 표시할 아이콘 이름
shortcutstring-항목 오른쪽에 표시할 키보드 단축키
onClick() => void-항목 클릭 시 실행할 콜백 함수
disabledbooleanfalse항목 비활성화 여부
type'default' | 'danger''default'항목 스타일 유형, 'danger'는 빨간색으로 표시됨