# CheckboxGroup 复选按钮
## 基本用法
```html
v-model="group"
```
```javascript
data() {
return {
data:[
{id:11,value:'选项A',label:'选项A'},
{id:12,value:'选项B',label:'选项B'},
{id:13,value:'选项C',label:'选项C'},
{id:14,value:'选项D',label:'选项D'},
],
group: ['选项A'],
};
}
```
v-model绑定的数组选项对应data的value值,控制选项是否选中,如代码所示,‘选项A’被勾选。如果group为空那么所有选项未选中。
```html
v-model="group"
```
```javascript
data() {
return {
group: ['A'],
};
}
```
checkBoxData也可直接在标签中传入数据
## 禁用状态
data控制禁用状态
```html
```
```javascript
data() {
return {
data2:[
{id:21,value:'选项1',label:'选项1',disabled:true},
{id:22,value:'选项2',label:'选项2',disabled:true},
],
};
}
```
标签控制禁用状态(用于全组禁用)
```html
```
```javascript
data() {
return {
data2:[
{id:21,value:'选项1',label:'选项1'},
{id:22,value:'选项2',label:'选项2'},
],
};
}
```
## 自定义尺寸
内置 **small**,**base**,**large** 三种规格供使用。
```html
```
```javascript
data() {
return {
data1:[
{id:41,value:'备选项',label:'备选项'},
],
data2:[
{id:42,value:'备选项',label:'备选项'},
],
data3:[
{id:43,value:'备选项',label:'备选项',size:'large'},
],
};
}
```
也可用data控制size属性
```html
```
```javascript
data() {
return {
data:[
{id:41,value:'1',label:'选项1',size:'large'},
{id:42,value:'2',label:'选项2',size:'base'},
{id:43,value:'3',label:'选项3',size:'small'},
],
group:['1','2','3'],
};
}
```
**注意**:如果data中设置了size,显示data中size属性,data中的size属性优先级高于标签size的设置。
## 禁用动效
animation属性值为false时,禁用自带动效
```html
```
## 横向排列
vertical属性值为true时,横向排列
```html
```
## 事件
值发生变化时,将触发change事件
```html
```
```javascript
methods: {
changeEvt(val,label,e){
alert('已选值:['+ val+'],当前选择值:'+ label);
}
}
```
## 新增自定义class
```html
```
## Prop
| 字段 | 说明 | 类型 | 默认值
|----- | ----- | ----- | -----
| checkBoxData | 传入选项数组 | Array | -
| v-model,value | 选择项数组,可定义默认选中项 | Array | -
| vertical | 横向排列 | Boolean | false
| size | 尺寸,可选值small/base/large | String | base
| disabled | 是否禁用 | Boolean | false
| animation | 是否需要动效 | Boolean | true
| customClass | 自定义样式 | String | -
## Event
| 字段 | 说明 | 回调参数
|----- | ----- | -----
| change | 值变化时触发 | 当前已选中项的状态(values),当前选中项值(label),event