# Checkbox 复选框
概述
Checkbox 多项选择器,需结合fui-checkbox-group和fui-checkbox组件一起使用。
# 支持平台
目前开发小程序与H5推荐使用 FirstUI nvue版本 (opens new window)。
安卓系统版本 | 安卓uni-app | 安卓uniapp-x | iOS系统版本 | iOS uniapp | iOS uniapp-x | 小程序 | H5 |
---|---|---|---|---|---|---|---|
5.0 | × | ✓ | 9.0 | × | × | × | × |
# 引入
以下介绍两种常用的引入方式。
第一种:在页面中引用、注册
import fuiCheckboxGroup from "@/components/firstui/fui-checkbox-group/fui-checkbox-group.uvue"
import fuiCheckbox from "@/components/firstui/fui-checkbox/fui-checkbox.uvue"
export default {
components:{
fuiCheckboxGroup,
fuiCheckbox
}
}
1
2
3
4
5
6
7
8
2
3
4
5
6
7
8
第二种:easycom组件规范
传统vue组件,需要安装、引用、注册,三个步骤后才能使用组件。easycom将其精简为一步。
First UI easycom配置请查看 快速上手。
如果不了解easycom,可先查看 官网文档 (opens new window)。
# 代码演示
部分示例演示,完整使用请参考示例程序以及文档API。
基本使用
通过change事件来获取选中的值。
<fui-checkbox-group name="checkbox" @change="change">
<view class="fui-list__item">
<fui-label>
<view class="fui-align__center">
<fui-checkbox value="1"></fui-checkbox>
<text class="fui-text">选中</text>
</view>
</fui-label>
<fui-label margin="0 0 0 40rpx">
<view class="fui-align__center">
<fui-checkbox value="2"></fui-checkbox>
<text class="fui-text">未选中</text>
</view>
</fui-label>
</view>
</fui-checkbox-group>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
export default {
data() {
return {
}
},
methods: {
change(e : string[]) {
console.log('change:' + JSON.stringify(e))
// this.fui.toast(`您选则的值为:${e.join(',')}`)
}
}
}
1
2
3
4
5
6
7
8
9
10
11
12
13
2
3
4
5
6
7
8
9
10
11
12
13
# Slots
# fui-checkbox-group 组件
插槽名称 | 说明 |
---|---|
default | 标签显示内容,内部由多个fui-checkbox组成 |
# fui-checkbox 组件
插槽名称 | 说明 |
---|---|
- | - |
# Props
# fui-checkbox-group 组件
属性名 | 类型 | 说明 | 默认值 | 平台差异说明 |
---|---|---|---|---|
name | String | 多项选择器名称 | - | - |
modelValue | Array<string> | 选中的value值,也可使用双向绑定 | [ ] | - |
# fui-checkbox 组件
属性名 | 类型 | 说明 | 默认值 | 平台差异说明 |
---|---|---|---|---|
value | String | value值,当选中时会携带该值 | - | - |
checked | Boolean | 是否选中 | false | - |
disabled | Boolean | 是否禁用 | false | - |
color | String | 选中时背景颜色 | #465CFF | - |
normalColor | String | 未选中时背景颜色 | - | - |
borderColor | String | 未选中时边框颜色 | #ccc | - |
borderRadius | String | 圆角值 | 100px | - |
isCheckMark | Boolean | 是否只展示对号,无边框背景 | false | - |
checkMarkColor | String | 对号颜色 | #fff | - |
scaleRatio | Number | 缩放比例,当比例大于1时,外层容器需要设置 overflow: visible或者留出足够空间,避免显示不全 | 1 | - |
scaleAlign | String | 缩放后对齐方式,可选值:left、center、right | center | - |
# Events
# fui-checkbox-group 组件
事件名 | 类型 | 说明 | 回调参数 |
---|---|---|---|
@change | (event: string[]) => void | 选中项发生变化时触发 | string[]:选择的值 |
@update:modelValue | (event: string[]) => void | 选中项发生变化时触发,用于双向绑定 | string[]:选择的值 |
# fui-checkbox 组件
事件名 | 类型 | 说明 | 回调参数 |
---|---|---|---|
@change | (event: FuiCheckboxChangeParam) => void | 选中状态发生改变时触发 | FuiCheckboxChangeParam |
# FuiCheckboxChangeParam
/**
* fui-checkbox 复选框组件 @change 事件 回调参数类型(单独使用fui-checkbox组件)
* @description this.$emit('change',FuiCheckboxChangeParam)
* @param {boolean} checked {boolean} 是否选中
* @param {string} value {string} checkbox 标识,值
*/
export type FuiCheckboxChangeParam = {
checked : boolean;
value : string;
}
/*页面引入*/
import { FuiCheckboxChangeParam } from '@/components/firstui/fui-types/index.uts'
1
2
3
4
5
6
7
8
9
10
11
12
13
2
3
4
5
6
7
8
9
10
11
12
13