单个复选框组件,支持普通选中、禁用和半选状态。
| 属性 | 类型 | 默认值 | 说明 |
|---|---|---|---|
id | string | 自动生成 | 复选框 id |
disabled | boolean | false | 是否禁用 |
class | HTMLAttributes['class'] | - | 外层容器类名 |
itemClass | HTMLAttributes['class'] | - | 复选框本体类名 |
labelClass | HTMLAttributes['class'] | - | 标签内容类名 |
| 名称 | 说明 |
|---|---|
default | 复选框标签内容 |
| 事件名 | 说明 | 回调参数 |
|---|---|---|
change | 选中值变化时触发 | value: boolean | 'indeterminate' | undefined |
通过 v-model 实现双向绑定。
<script setup lang="ts">
const checked = ref(false)
</script>
<template>
<FaCheckbox v-model="checked">
我已阅读并同意服务条款
</FaCheckbox>
</template><script setup lang="ts">
const checked = ref<boolean | 'indeterminate'>('indeterminate')
</script>
<template>
<FaCheckbox v-model="checked">
部分选中
</FaCheckbox>
</template><script setup lang="ts">
const checked = ref(true)
</script>
<template>
<div class="flex flex-col gap-2">
<FaCheckbox disabled>
禁用未选中
</FaCheckbox>
<FaCheckbox v-model="checked" disabled>
禁用已选中
</FaCheckbox>
</div>
</template><script setup lang="ts">
const checked = ref(false)
</script>
<template>
<FaCheckbox v-model="checked" />
</template><script setup lang="ts">
const checked = ref(false)
</script>
<template>
<FaCheckbox
v-model="checked"
class="gap-3"
item-class="size-5 rounded-md"
label-class="text-primary font-medium"
>
自定义样式
</FaCheckbox>
</template>FaCheckbox 只负责单个复选框,不承担组选项逻辑。boolean 和 'indeterminate' 两种状态值。