Menu

Menu

앱 내비게이션·사이드바에 사용하는 메뉴 컴포넌트입니다. 수직·수평 배치, 아이콘, 서브메뉴, 구분선·그룹을 지원합니다.

기본

menu_vertical · menu_bordered로 세로 메뉴를 구성합니다. is-activearia-current="page"로 선택 항목을 표시합니다.

수평

menu_horizontal로 상단 탭·툴바 형태의 메뉴를 만듭니다.

아이콘

menu_icon으로 항목 앞에 아이콘을 배치합니다.

menu_item-submenu · menu_submenu로 중첩 메뉴를 구성합니다. 버튼.menu_linkaria-expanded로 펼침·접힘을 제어합니다.

구분선 · 그룹

menu_divider로 항목을 구분하고, menu_group-title로 섹션 제목을 표시합니다.

비활성

menu_item.is-disabled 또는 menu_link.is-disabled로 선택·클릭을 막습니다.

배지

menu_extra에 badge 컴포넌트를 배치해 알림 수·상태를 표시합니다.

수평 · 서브메뉴

menu_horizontal에서 서브메뉴는 드롭다운 형태로 표시됩니다.

사이드바 레이아웃

수직 메뉴를 사이드바로 배치하고 콘텐츠 영역과 함께 사용하는 예시입니다.

변형

menu_compact · menu_dark로 밀도와 배경을 조절합니다.

API · Menu Props

Prop타입기본값설명
mode'vertical' | 'horizontal' | 'inline'verticalmenu_vertical · menu_horizontal · menu_inline
borderedbooleanfalsemenu_bordered
compactbooleanfalsemenu_compact
darkbooleanfalsemenu_dark
aria-labelstringnav aria-label

API · MenuItem Props

Prop타입기본값설명
labelstring항목 텍스트
hrefstring링크 URL (a 태그)
asstring | Componenta | button항목 루트 요소. NuxtLink 같은 커스텀 링크 컴포넌트 지정
activebooleanfalseis-active · aria-current
disabledbooleanfalseis-disabled
colorstringcolor_* (예: danger)
ripplebooleantrue클릭 파장(ripple). true 시 data-ripple 활성 · false 비활성. 기본 활성

API · MenuSubmenu Props

Prop타입기본값설명
labelstring서브메뉴 제목
expandedbooleanfalse펼침 (aria-expanded)
submenu-idstringmenu_submenu id (aria-controls)
@expanded-change(expanded: boolean) => void펼침 상태 변경 이벤트
ripplebooleantrue클릭 파장(ripple). true 시 data-ripple 활성 · false 비활성. 기본 활성

API · MenuGroup Props

Prop타입기본값설명
titlestring그룹 제목 (menu_group-title, 필수)

API · Menu Slots

슬롯설명
defaultMenuItem · MenuSubmenu 등

API · MenuItem · MenuSubmenu Slots

슬롯설명
iconmenu_icon
extramenu_extra (배지 등)
슬롯설명
iconmenu_icon
default하위 MenuItem

클래스 · 속성

Vue 컴포넌트가 렌더하는 OOCSS 클래스입니다. HTML 마크업으로 직접 작성할 때 동일하게 조합합니다.

클래스설명
menu · menu_list · menu_item · menu_link루트·목록·항목·링크
menu_vertical · menu_horizontal · menu_inline배치 모드
menu_icon · menu_label · menu_extra · menu_arrow항목 파트
menu_item-submenu · menu_submenu서브메뉴
menu_group · menu_group-title · menu_divider그룹·구분선
menu_bordered · menu_compact · menu_dark스타일 변형
is-active · is-disabled상태
data-vue-menuVue가 선택·서브메뉴 상태를 관리하는 메뉴
data-ripple클릭 파장 활성. data-ripple="surface"는 절대 위치 보조 버튼용
data-ripple="false"해당 요소 ripple 비활성
data-no-ripple하위 전체 ripple 비활성

디자인 토큰

토큰기본값설명
--menu-item-height · --menu-item-padding-x항목 크기·패딩
--menu-gap · --menu-radius간격·모서리
--menu-sub-indent서브메뉴 들여쓰기