Skip to content

Secondary Tabs

Secondary Tabs 컴포넌트는 2차 메뉴나 서브 탐색에 사용되는 인터페이스 요소입니다. Primary Tabs와 달리 배경색이 있고 더 컴팩트한 디자인을 가지고 있습니다.

기본 사용법

vue
<template>
    <secondary-tabs
        :active-tab="activeTab"
        :tabs="tabs"
        @select:tab="handleSelectTab"
        @focus:tab="handleFocusTab"
    />
</template>

<script setup lang="ts">
const tabs = [
    { tabKey: 'tab1', label: '전체', tooltip: { text: '툴팁 내용' } },
    { tabKey: 'tab2', label: '경고', tooltip: { text: '툴팁 내용' } },
    {
        tabKey: 'tab3',
        label: '에러',
        icon: ICON_TYPE.error,
        tooltip: { text: '툴팁 내용' },
    },
    {
        tabKey: 'tab4',
        label: 'Tab 4',
        badgeContent: 10,
        tooltip: { text: '툴팁 내용' },
    },
    {
        tabKey: 'tab5',
        label: 'Tab 5',
        badgeContent: 10,
        icon: ICON_TYPE.error,
        tooltip: { text: '툴팁 내용' },
    },
    {
        tabKey: 'tab6',
        label: 'Tab 6',
        disabled: true,
        badgeContent: 10,
        icon: ICON_TYPE.error,
    },
];
const activeTab = ref('tab1');

const handleSelectTab = (key) => {
    activeTab.value = key;
    console.log('Tab selected:', key);
};
const handleFocusTab = (key) => {
    console.log('Tab focused:', key);
};
</script>

Example

tab1

Props

SecondaryTabs 컴포넌트

Prop 이름타입필수 여부설명
activeTabstringYes현재 선택된 탭의 키
tabsTabItem[]Yes탭 아이템 배열

TabItem 인터페이스

속성타입필수 여부설명
tabKeystringYes탭을 식별하는 고유 키
labelstringYes탭에 표시될 텍스트
disabledbooleanNo탭 비활성화 여부
tooltipTooltipPropsNo탭에 표시될 툴팁
iconIconTypesNo탭에 표시될 아이콘
badgeContentnumberNo배지에 표시될 숫자
contextKeyanyNo탭의 컨텍스트 키

Events

이벤트 이름파라미터설명
select:tabtabKey: string탭이 선택되었을 때 발생
focus:tabtabKey: string탭이 포커스되었을 때 발생

접근성

  • 키보드 탐색이 지원됩니다 (← →)
  • 비활성화된 탭은 disabled 속성이 적용됩니다
  • 포커스 시 시각적 표시가 제공됩니다