Switch
Switch (스위치)
이진(binary) 상태를 입력받는 컴포넌트예요. 켜짐/꺼짐 같은 두 가지 상태를 토글할 때 유용해요.
출처: 문서
본문
Switch는 이진 상태를 입력받는 컴포넌트예요. <ExampleTabs name="switch-basic" />
사용법 (Usage)
import { Switch } from "@chakra-ui/react"
<Switch.Root>
<Switch.HiddenInput />
<Switch.Control>
<Switch.Thumb />
</Switch.Control>
<Switch.Label />
</Switch.Root>
Info: 닫힌(closed) 컴포넌트 구성을 선호한다면 아래 스니펫을 확인해 보세요.
단축 표현 (Shortcuts)
Switch 컴포넌트는 흔한 사용 사례를 위한 단축 표현도 제공해요.
SwitchControl
Switch.Control은 기본적으로 그 안에 Switch.Thumb을 렌더링해 줘요.
이렇게 쓰는 게 동작하고,
<Switch.Control>
<Switch.Thumb />
</Switch.Control>
썸을 커스터마이즈할 필요가 없다면 이렇게 더 간결하게 쓸 수 있어요.
<Switch.Control />
예시 (Examples)
크기 (Sizes)
Switch.Root 컴포넌트에 size prop을 넘기면 스위치의 크기를 바꿀 수 있어요.
변형 (Variants)
Switch.Root 컴포넌트에 variant prop을 넘기면 스위치의 시각적 스타일을 바꿀 수 있어요.
색상 (Colors)
Switch.Root 컴포넌트에 colorPalette prop을 넘기면 컴포넌트의 색상을 바꿀 수 있어요.
제어 (Controlled)
checked와 onCheckedChange prop으로 스위치의 상태를 제어할 수 있어요.
Hook Form
react-hook-form과 스위치를 통합하는 예시예요.
비활성화 (Disabled)
Switch.Root 컴포넌트에 disabled prop을 넘기면 스위치를 비활성화할 수 있어요.
오류 상태 (Invalid)
Switch.Root 컴포넌트에 invalid prop을 넘기면 스위치의 오류 상태를 나타낼 수 있어요.
툴팁 (Tooltip)
스위치와 툴팁을 조합하는 예시예요.
트랙 인디케이터 (Track Indicator)
Switch.Indicator 컴포넌트로 체크 상태에 따라 다른 인디케이터를 표시할 수 있어요.
썸 인디케이터 (Thumb Indicator)
Switch.ThumbIndicator 컴포넌트로 스위치 썸에 아이콘을 추가할 수 있어요.
닫힌 컴포넌트 (Closed Component)
닫힌 컴포넌트 구성을 위해 Switch를 설정하는 방법이에요. 프로젝트에 자동으로 닫힌 컴포넌트를 추가하고 싶다면 다음 명령을 실행해요.
npx @chakra-ui/cli snippet add switch
사용하는 방법은 다음과 같아요.
<Switch>Activate Chakra</Switch>
Props
Switch 컴포넌트의 Root 파트 props에 대한 상세 정보는 공식 문서의 PropTable를 참고하세요.