# Checkbox 复选按钮
### 介绍
多选按钮用于选择。
### 安装
``` ts
import { createApp } from 'vue';
// vue
import { Checkbox,CheckboxGroup,Icon } from '@nutui/nutui';
// taro
import { Checkbox,CheckboxGroup,Icon } from '@nutui/nutui-taro';
const app = createApp();
app.use(Checkbox);
app.use(CheckboxGroup);
app.use(Icon);
```
## 基本用法
```html
复选框
复选框
```
```ts
setup() {
return {
checkbox1: false,
checkbox2: false,
};
}
```
## 禁用状态
```html
未选时禁用状态
选中时禁用状态
```
```ts
setup() {
return {
checkbox3: false,
checkbox4: true,
};
}
```
## 自定义尺寸
```html
自定义尺寸25
自定义尺寸10
```
```ts
setup() {
return {
checkbox5: true,
checkbox6: false,
};
}
```
## 自定义图标
这里建议同时设置 `icon-name` 和 `icon-active-name` 属性
```html
自定义图标
```
```ts
setup() {
return {
checkbox7: true,
};
}
```
## change事件
值发生变化时,将触发change事件
```html
change复选框
```
```ts
setup() {
const checkbox = ref(false);
const changeBox3= (checked: boolean, label: string) => {
console.log('change事件触发' + checked, label);
}
return {
checkbox,
changeBox3
};
}
```
## checkboxGroup使用
```html
组合复选框
组合复选框
组合复选框
组合复选框
```
```ts
setup() {
return {
checkboxgroup1: ['2', '3'],
};
}
```
## checkboxGroup 全选/取消
```html
组合复选框
组合复选框
全选
取消
```
```ts
setup() {
const group = ref(null);
const changeBox4 = (label: any[]) => {
Toast.text(`${label.length ? '全选' : '取消全选'}`);
};
const toggleAll = (f: boolean) => {
(group.value as any).toggleAll(f);
};
return {
checkboxgroup3: ['2'],
group,
changeBox4,
toggleAll
};
}
```
## Checkbox
| 字段 | 说明 | 类型 | 默认值
|----- | ----- | ----- | -----
| v-model | 是否处于选中状态 | Boolean | `false`
| disabled | 是否禁用选择 | Boolean | `false`
| text-position | 文本所在的位置,可选值:`left`,`right` | String | `right`
| icon-size | [图标尺寸](#/icon) | String、Number | `18`
| icon-name | [图标名称](#/icon),选中前(建议和`icon-active-name`一起修改) | String | `'check-normal'`
| icon-active-name | [图标名称](#/icon),选中后(建议和`icon-name`一起修改) | String | `'checked'`
| label | 复选框的文本内容 | String | -
## CheckboxGroup
| 字段 | 说明 | 类型 | 默认值
|----- | ----- | ----- | -----
| v-model | 当前选中项的标识符,和 `label` 相对应 | Array | -
| disabled | 是否禁用选择,将用于其下的全部复选框 | Boolean | `false`
## Checkbox Event
| 字段 | 说明 | 回调参数
|----- | ----- | -----
| change | 值变化时触发 | (state, label),`state`代表当前状态,`label`表示当前选中的值
## CheckboxGroup Event
| 字段 | 说明 | 回调参数
|----- | ----- | -----
| change | 值变化时触发 | label,`label`返回一个数组,表示当前选中项的集合