스위치
스위치 (Switch)
출처: 문서
본문
두 가지 반대 상태 사이를 전환할 때 사용하는 컴포넌트예요.
기본 사용법 (Basic Usage)
v-model을 Boolean 타입 변수에 바인딩해요. --el-switch-on-color와 --el-switch-off-color CSS 변수가 두 상태에서의 배경 색상을 결정해요.
크기 (Sizes)
텍스트 설명 (Text Description)
active-text와 inactive-text 속성을 추가해서 텍스트를 표시할 수 있어요. inline-prompt 속성을 사용하면 텍스트가 도트 안쪽에 표시되도록 제어할 수 있어요.
커스텀 아이콘 표시 (Display Custom Icons)
TIP
active-icon과inactive-icon속성으로 아이콘을 추가할 수 있어요. 미리 등록한 컴포넌트 이름을 문자열로 전달하거나, SVG Vue 컴포넌트 자체를 전달할 수 있어요. Element Plus는 icon 문서에서 확인할 수 있는 아이콘 세트를 제공해요.
active-icon과 inactive-icon 속성을 추가해서 아이콘을 표시할 수 있어요. inline-prompt 속성을 사용하면 아이콘이 도트 안쪽에 표시되도록 제어할 수 있어요.
확장된 값 타입 (Extended Value Types)
active-value와 inactive-value 속성을 설정할 수 있어요. 둘 다 Boolean, String 또는 Number 타입 값을 받아요.
비활성화 (Disabled)
disabled 속성을 추가하면 Switch가 비활성화돼요.
로딩 (Loading)
loading 속성을 true로 설정하면 Switch에 로딩 상태가 표시돼요.
전환 방지 (Prevent Switching)
before-change 속성을 설정해요. false가 반환되거나 Promise가 반환된 뒤 reject되면 전환이 멈춰요.
커스텀 액션 아이콘 (Custom Action Icon)
active-action-icon과 inactive-action-icon 속성을 추가해서 아이콘을 표시할 수 있어요.
커스텀 액션 슬롯 (Custom Action Slot)
active-action과 inactive-action 슬롯을 사용해서 액션을 커스텀할 수 있어요.
API
속성 (Attributes)
| Name | Description | Type | Default |
|---|---|---|---|
| model-value / v-model | 바인딩 값. active-value 또는 inactive-value와 동일해야 하며, 기본적으로 boolean 타입이에요 | boolean / string / number | false |
| disabled | Switch 비활성화 여부 | boolean | false |
| loading | Switch 로딩 상태 여부 | boolean | false |
| size | Switch의 크기 | enum | '' |
| width | Switch의 너비 | number / string | '' |
| inline-prompt | 아이콘 또는 텍스트를 도트 안에 표시할지 여부. 텍스트는 첫 글자만 렌더링돼요 | boolean | false |
| active-icon | 켜진 상태에서 표시되는 아이콘의 컴포넌트. active-text보다 우선해요 | string / Component | — |
| inactive-icon | 꺼진 상태에서 표시되는 아이콘의 컴포넌트. inactive-text보다 우선해요 | string / Component | — |
| active-action-icon 2.3.9 | 켜진 상태에서 액션에 표시되는 아이콘의 컴포넌트 | string / Component | — |
| inactive-action-icon 2.3.9 | 꺼진 상태에서 액션에 표시되는 아이콘의 컴포넌트 | string / Component | — |
| active-text | 켜진 상태에서 표시되는 텍스트 | string | '' |
| inactive-text | 꺼진 상태에서 표시되는 텍스트 | string | '' |
| active-value | 켜진 상태일 때의 스위치 값 | boolean / string / number | true |
| inactive-value | 꺼진 상태일 때의 스위치 값 | boolean / string / number | false |
| name | Switch의 input name | string | '' |
| validate-event | 폼 검증 트리거 여부 | boolean | true |
| before-change | 스위치 상태가 변경되기 전의 훅. false가 반환되거나 Promise가 반환된 뒤 reject되면 전환이 멈춰요 | Function | — |
| id | input의 id | string | — |
| tabindex | input의 tabindex | string / number | — |
| aria-label a11y 2.7.2 | 네이티브 input의 aria-label과 동일해요 | string | — |
| active-color deprecated | 켜진 상태의 배경 색상 (대신 CSS var --el-switch-on-color를 사용하세요) |
string | '' |
| inactive-color deprecated | 꺼진 상태의 배경 색상 (대신 CSS var --el-switch-off-color를 사용하세요) |
string | '' |
| border-color deprecated | 스위치의 테두리 색상 (대신 CSS var --el-switch-border-color를 사용하세요) |
string | '' |
| label a11y deprecated | 네이티브 input의 aria-label과 동일해요 | string | — |
이벤트 (Events)
| Name | Description | Type |
|---|---|---|
| change | 값이 변경될 때 트리거돼요 | Function |
Switch 슬롯 (Slots)
| Name | Description |
|---|---|
| active-action 2.4.4 | 액티브 액션 커스텀 |
| inactive-action 2.4.4 | 인액티브 액션 커스텀 |
| active 2.13.0 | 액티브 콘텐츠 커스텀 |
| inactive 2.13.0 | 인액티브 콘텐츠 커스텀 |
Exposes
| Method | Description | Type |
|---|---|---|
| focus | 스위치 컴포넌트에 수동으로 포커스 | Function |