Skip to content

Checkbox 多选框

在一组备选项中进行多选。

基础用法

禁用状态

自定义

多选框组

中间状态

可选项目数量的限制

按钮样式

带有边框

API

Checkbox Props

参数说明类型默认值
v-model是否为选中状态booleanfalse
name标识符,通常为一个唯一的字符串或数字any-
sizeCheckbox 的尺寸,可选large、smallstring-
typeCheckbox 的类型,可选buttonstring-
border是否显示边框booleanfalse
shape形状,可选值为 squarestringround
disabled是否禁用复选框booleanfalse
label-disabled是否禁用复选框文本点击booleanfalse
label-position文本位置,可选值为 leftstringright
icon-size图标大小,默认单位为 pxnumber | string20px
checked-color选中状态颜色string#1989fa
bind-group是否与复选框组绑定booleantrue

CheckboxGroup Props

参数说明类型默认值
v-model所有选中项的标识符any[]-
sizeCheckbox 的尺寸,可选large、smallstring-
disabled是否禁用所有复选框booleanfalse
max最大可选数,0 为无限制number | string0
min最小可选数,0 为无限制number | string0
icon-size所有复选框的图标大小,默认单位为 pxnumber | string20px
checked-color所有复选框的选中状态颜色string#1989fa

Checkbox Events

事件名说明回调参数
change当绑定值变化时触发的事件checked: boolean
click点击复选框时触发event: MouseEvent

CheckboxGroup Events

事件名说明回调参数
change当绑定值变化时触发的事件names: any[]

Checkbox Slots

名称说明参数
default自定义文本{ checked: boolean, disabled: boolean }
icon自定义图标{ checked: boolean, disabled: boolean }

CheckboxGroup 方法

通过 ref 可以获取到 CheckboxGroup 实例并调用实例方法。

方法名说明参数返回值
toggleAll切换所有复选框,传 true 为选中,false 为取消选中,不传参为取反options?: boolean | object-

toggleAll 方法示例

js
import { ref } from 'vue';
import type { CheckboxGroupInstance } from 'ryxon';

const checkboxGroupRef = ref<CheckboxGroupInstance>();

// 全部反选
checkboxGroupRef?.value.toggleAll();
// 全部选中
checkboxGroupRef?.value.toggleAll(true);
// 全部取消
checkboxGroupRef?.value.toggleAll(false);

// 全部反选,并跳过禁用的复选框
checkboxGroupRef?.value.toggleAll({
  skipDisabled: true,
});
// 全部选中,并跳过禁用的复选框
checkboxGroupRef?.value.toggleAll({
  checked: true,
  skipDisabled: true,
});

Checkbox 方法

通过 ref 可以获取到 Checkbox 实例并调用实例方法。

方法名说明参数返回值
toggle切换选中状态,传 true 为选中,false 为取消选中,不传参为取反checked?: boolean-

类型定义

组件导出以下类型定义:

ts
import type {
  CheckboxProps,
  CheckboxShape,
  CheckboxInstance,
  CheckboxLabelPosition,
  CheckboxGroupProps,
  CheckboxGroupInstance,
  CheckboxGroupToggleAllOptions
} from 'ryxon'

CheckboxInstanceCheckboxGroupInstance 是组件实例的类型,用法如下:

ts
import { ref } from 'vue'
import type { CheckboxInstance, CheckboxGroupInstance } from 'ryxon'

const checkboxRef = ref<CheckboxInstance>()
const checkboxGroupRef = ref<CheckboxGroupInstance>()

checkboxRef.value?.toggle()
checkboxGroupRef.value?.toggleAll()

主题定制

样式变量

组件提供了下列 CSS 变量,可用于自定义样式,使用方法请参考 ConfigProvider 组件

名称默认值描述
--r-checkbox-size14px-
--r-checkbox-border-colorvar(--r-gray-5)-
--r-checkbox-durationvar(--r-duration-fast)-
--r-checkbox-label-marginvar(--r-padding-xs)-
--r-checkbox-label-colorvar(--r-text-color)-
--r-checkbox-checked-icon-colorvar(--r-primary-color)-
--r-checkbox-disabled-icon-colorvar(--r-gray-5)-
--r-checkbox-disabled-label-colorvar(--r-text-color-3)-
--r-checkbox-disabled-backgroundvar(--r-border-color)-
--r-checkbox-button-checked-bg-colorvar(--r-primary-color)-
--r-checkbox-button-checked-text-colorvar(--r-white)-
--r-checkbox-button-checked-border-colorvar(--r-primary-color)-

Released under the MIT License.