CCheckBox 是一个复选框组件,用于在表单中提供多选或单选功能。组件支持两种显示模式:直接显示模式和弹窗选择模式,以及两种选择类型:多选和单选。
import { CCheckBox } from '@components/forms/checkbox';
itemRes
(Object,必填):表单数据资源对象,表单组件内部机制专用options
(Array,可选):选项列表,每个选项应包含 label 和 value 属性,默认为空数组boxType
(String,可选):勾选类型,默认为 checkbox
checkbox
:多选模式radio
:单选模式displayType
(String,可选):显示模式,默认为 plane
plane
:直接显示模式dialog
:弹窗选择模式placeholder
(String,可选):输入框占位提示文本<template>
<CForm :form="form">
<CFormItem name="hobbies" label="兴趣爱好">
<CCheckBox
:options="hobbiesOptions"
placeholder="请选择兴趣爱好"
/>
</CFormItem>
</CForm>
</template>
<script>
import { CForm, CFormItem } from '@components/forms/form';
import { CCheckBox } from '@components/forms/checkbox';
export default {
components: {
CForm,
CFormItem,
CCheckBox
},
data() {
return {
form: {
hobbies: []
},
hobbiesOptions: [
{ label: '阅读', value: 'reading' },
{ label: '音乐', value: 'music' },
{ label: '运动', value: 'sports' },
{ label: '旅行', value: 'travel' },
{ label: '电影', value: 'movie' }
]
};
}
};
</script>
<CFormItem name="gender" label="性别">
<CCheckBox
boxType="radio"
:options="genderOptions"
placeholder="请选择性别"
/>
</CFormItem>
data() {
return {
form: {
gender: ''
},
genderOptions: [
{ label: '男', value: 'male' },
{ label: '女', value: 'female' }
]
};
}
<CFormItem name="skills" label="技能">
<CCheckBox
displayType="dialog"
:options="skillsOptions"
placeholder="请选择技能"
/>
</CFormItem>
data() {
return {
form: {
skills: []
},
skillsOptions: [
{ label: 'JavaScript', value: 'js' },
{ label: 'HTML', value: 'html' },
{ label: 'CSS', value: 'css' },
{ label: 'Vue', value: 'vue' },
{ label: 'React', value: 'react' },
{ label: 'Node.js', value: 'node' }
]
};
}
checkbox
:多选模式,可以选择多个选项,表单值为数组radio
:单选模式,只能选择一个选项,表单值为单个值plane
:直接显示模式,选项直接显示在表单项下方dialog
:弹窗选择模式,点击表单项后弹出选择弹窗displayType="dialog"
)