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