Checkbox
하나의 선택 여부를 바꾸거나 일부만 선택된 부모 상태를 나타냅니다.
용법
선택 또는 해제
하나의 선택 항목을 선택 또는 해제 상태로 나타냅니다.
하나의 선택 항목을 선택 또는 해제 상태로 나타냅니다.
<!-- Checkbox / Binary -->
<script setup lang="ts">
import { ref } from 'vue'
import { CheckboxIndicator, CheckboxRoot } from '@sectile/vue/checkbox'
const checked = ref<boolean | 'indeterminate'>(false)
</script>
<template>
<CheckboxRoot v-model="checked" v-slot="{ isIndeterminate }">
<CheckboxIndicator>{{ isIndeterminate ? '−' : '✓' }}</CheckboxIndicator>
<span>Include analytics</span>
</CheckboxRoot>
</template>일부 선택
하위 항목이 일부만 선택된 부모 항목을 나타냅니다.
하위 항목이 일부만 선택된 부모 항목을 나타냅니다.
<!-- Checkbox / Mixed -->
<script setup lang="ts">
import { ref } from 'vue'
import { CheckboxIndicator, CheckboxRoot } from '@sectile/vue/checkbox'
const checked = ref<boolean | 'indeterminate'>('indeterminate')
</script>
<template>
<CheckboxRoot v-model="checked" v-slot="{ isIndeterminate }">
<CheckboxIndicator>{{ isIndeterminate ? '−' : '✓' }}</CheckboxIndicator>
<span>Include analytics</span>
</CheckboxRoot>
</template>외부 상태 관리
현재 값은 부모가 관리하고, 허용된 변경을 컴포넌트에 다시 전달합니다.
현재 값은 부모가 관리하고, 허용된 변경을 컴포넌트에 다시 전달합니다.
<!-- Checkbox / Controlled -->
<script setup lang="ts">
import { ref } from 'vue'
import { CheckboxIndicator, CheckboxRoot } from '@sectile/vue/checkbox'
const checked = ref<boolean | 'indeterminate'>(false)
</script>
<template>
<CheckboxRoot v-model="checked" v-slot="{ isIndeterminate }">
<CheckboxIndicator>{{ isIndeterminate ? '−' : '✓' }}</CheckboxIndicator>
<span>Include analytics</span>
</CheckboxRoot>
</template>API
Vue 패키지: @sectile/vue/checkbox
CheckboxRootCheckboxIndicator
Props
CheckboxRootProps
as이 파트가 렌더링할 요소 또는 컴포넌트입니다.
asChild하나뿐인 자식 요소에 파트 속성을 직접 합칠지 여부입니다.
defaultValue컴포넌트가 값을 관리할 때 사용할 초깃값입니다.
disabled사용자 조작을 막을지 여부입니다.
form컨트롤을 연결할 네이티브 form 요소의 ID입니다.
modelValue부모가 상태를 관리할 때 사용할 현재 값입니다.
name네이티브 폼 제출에 사용할 이름입니다.
readonly값 확인만 허용하는 읽기 전용 상태 여부입니다.
required제출 전에 올바른 값이 반드시 있어야 하는지 여부입니다.
value이 계약이 노출하는 현재 값입니다.
CheckboxIndicatorProps
as이 파트가 렌더링할 요소 또는 컴포넌트입니다.
asChild하나뿐인 자식 요소에 파트 속성을 직접 합칠지 여부입니다.
슬롯
CheckboxSlotProps
checked컨트롤이 선택됐는지 여부입니다.
disabled사용자 조작을 막을지 여부입니다.
isChecked이 체크박스 값이 선택됐는지 여부입니다.
isIndeterminate묶음 값의 일부만 선택됐는지 여부입니다.
readonly값 확인만 허용하는 읽기 전용 상태 여부입니다.
이벤트
CheckboxRoot
update:modelValue컴포넌트가 외부 제어 값의 변경을 요청할 때 발생합니다.
기타 타입
CheckboxValue
type CheckboxValue = boolean | 'indeterminate'CheckboxValueChangeHandler
type CheckboxValueChangeHandler = (value: CheckboxValue) => void파트
공통 범위: [data-scope="checkbox"]. 컴포넌트 내부로 스타일을 제한할 때 파트 선택자와 함께 사용합니다.
| 파트 | 선택자 | 역할 | 추가 속성 |
|---|---|---|---|
root | [data-part="root"] | 컴포넌트 경계와 내부 파트를 묶습니다. | — |
indicator | [data-part="indicator"] | 주요 콘텐츠와 나란히 상태나 위치를 표시합니다. | — |
키보드 동작
| 키 | 동작 |
|---|---|
| Space | 현재 값을 전환합니다. |
| Tab | 문서의 기본 포커스 순서로 이동합니다. |
접근성
루트는 체크박스 의미를 제공하며 일부 선택 값은 aria-checked="mixed"로 노출합니다.
관련 WAI-ARIA 패턴에서 호스트 접근성 규칙을 확인할 수 있습니다.
