# Checkbox 复选框
表单组件-多选框。主要用于一组可选项多项选择,或者单独用于标记切换某种状态。
# 平台差异说明
App | H5 | 微信小程序 | 支付宝小程序 | 百度小程序 | 字节小程序 | QQ小程序 |
---|---|---|---|---|---|---|
√ | √ | √ | √ | √ | √ | √ |
# 示例
# 基础用法
可通过v-model | value
:设定是否选中
<template>
<pi-checkbox v-model="base">复选框</pi-checkbox>
</template>
<script>
export default {
data() {
return {
base: true
}
}
}
</script>
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
# 搭配checkbox-group使用推荐使用
推荐通过搭配checkbox-group使用,可快速设置一组选中值,更方便对多选场景进行数据初始化
提示
- 每项checkbox需要设置
name
属性 - checkbox-group设置的value应该是一个数组,包含的name的checkbox将会被选中
<template>
<pi-checkbox-group v-model="checkboxGroup">
<pi-checkbox name="A">选项一</pi-checkbox>
<pi-checkbox name="B">选项二</pi-checkbox>
<pi-checkbox name="C">选项三</pi-checkbox>
</pi-checkbox-group>
</template>
<script>
export default {
data() {
return {
checkboxGroup: ['A', 'C'], // 搭配checkbox-group使用
}
}
}
</script>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
# 自定义颜色
可自定义激活颜色,设置 active-color
属性指定激活颜色
<template>
<pi-checkbox-group v-model="customColor" direction="vertical" active-color="#ff6a00">
<pi-checkbox name="square" shape="square" active-color="#ff6a00">
方形(默认)
</pi-checkbox>
<pi-checkbox
name="square-fill"
shape="square"
active-color="#ff6a00"
active-mode="fill"
>
方形(填充)
</pi-checkbox>
<pi-checkbox name="round" shape="round" active-color="#ff6a00">
圆形
</pi-checkbox>
<pi-checkbox name="round-fill" shape="round" active-mode="fill" active-color="#ff6a00">
圆形(填充)
</pi-checkbox>
<pi-checkbox name="dot" shape="dot" active-color="#ff6a00">
圆点
</pi-checkbox>
<pi-checkbox name="dot-fill" shape="dot" active-color="#ff6a00" active-mode="fill">
圆点(填充)
</pi-checkbox>
<pi-checkbox name="text" shape="text" active-color="#ff6a00">文字</pi-checkbox>
<pi-checkbox name="text-fill" shape="text" active-color="#ff6a00" active-mode="fill">
文字(填充)
</pi-checkbox>
</pi-checkbox-group>
</template>
<script>
export default {
data() {
return {
customColor: [
// 自定义颜色
'square',
'round',
'dot',
'text',
'square-fill',
'round-fill',
'dot-fill',
'text-fill'
],
}
}
}
</script>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
# 自定义形状
可自定义复选框的形状,设置 shape
属性指定形状,有以下形状可供选择:
square
: 方形(默认)round
: 圆形dot
: 圆点text
: 文字
<template>
<pi-checkbox-group v-model="customShape" direction="vertical">
<pi-checkbox name="square" shape="square">方形(默认)</pi-checkbox>
<pi-checkbox name="round" shape="round">圆形</pi-checkbox>
<pi-checkbox name="dot" shape="dot">圆点</pi-checkbox>
<pi-checkbox name="text" shape="text">文字</pi-checkbox>
</pi-checkbox-group>
</template>
<script>
export default {
data() {
return {
customShape: ['square', 'round', 'dot', 'text'], // 自定义形状
}
}
}
</script>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
# 填充模式
可自定义复选框的填充模式,设置 active-mode
属性指定形状,有以下填充模式可供选择:
line
: 线框(默认)line-circle
: 线环:中间打钩和圆点不显示fill
: 填充fill-circle
: 填充环:中间打钩和圆点不显示
<template>
<pi-checkbox-group v-model="customFill" direction="vertical">
<pi-checkbox name="square" shape="square" active-mode="line">
方形
</pi-checkbox>
<pi-checkbox name="square-circle" shape="square" active-mode="line-circle">
方形(线环)
</pi-checkbox>
<pi-checkbox name="square-fill-circle" shape="square" active-mode="fill-circle">
方形(填充环)
</pi-checkbox>
<pi-checkbox name="round" shape="round" active-mode="line">
圆形
</pi-checkbox>
<pi-checkbox name="round-circle" shape="round" active-mode="line-circle">
圆形(线环)
</pi-checkbox>
<pi-checkbox name="round-fill-circle" shape="round" active-mode="fill-circle">
圆形(填充环)
</pi-checkbox>
<pi-checkbox name="dot" shape="dot" active-mode="fill">圆点</pi-checkbox>
<pi-checkbox name="dot-circle" shape="dot" active-mode="line-circle">
圆点(线环)
</pi-checkbox>
<pi-checkbox name="dot-fill-circle" shape="dot" active-mode="fill-circle">
圆点(填充环)
</pi-checkbox>
</pi-checkbox-group>
</template>
<script>
export default {
data() {
return {
customFill: ['square', 'round', 'dot', 'text'], // 填充模式
}
}
}
</script>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
# 禁用
如果需要禁止用户勾选,可设置 disabled
禁用复选框
注意
disabled
只是禁止用户选择,仍然可以通过value设置其选中
<template>
<pi-checkbox-group v-model="customShapeDisabled" direction="vertical">
<pi-checkbox name="square" shape="square" disabled>方形(默认)</pi-checkbox>
<pi-checkbox name="round" shape="round" disabled>圆形</pi-checkbox>
<pi-checkbox name="dot" shape="dot" disabled>圆点</pi-checkbox>
<pi-checkbox name="text" shape="text" disabled>文字</pi-checkbox>
</pi-checkbox-group>
<pi-checkbox-group v-model="customFillDisabled" direction="vertical">
<pi-checkbox name="square" shape="square" active-mode="fill" disabled>
方形(默认)
</pi-checkbox>
<pi-checkbox name="round" shape="round" active-mode="fill" disabled>圆形</pi-checkbox>
<pi-checkbox name="dot" shape="dot" active-mode="fill" disabled>圆点</pi-checkbox>
<pi-checkbox name="text" shape="text" active-mode="fill" disabled>文字</pi-checkbox>
</pi-checkbox-group>
</template>
<script>
export default {
data() {
return {
customShapeDisabled: ['dot', 'text'], // 自定义形状(禁用)
customFillDisabled: ['dot', 'text'], // 填充模式(禁用)
}
}
}
</script>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
# 最多选择数量
如果需要限制用户勾选的数量,可设置 max
设置最大可选数量
<template>
<pi-checkbox-group v-model="max2" max="2">
<pi-checkbox name="A">
选项一
</pi-checkbox>
<pi-checkbox name="B">
选项二
</pi-checkbox>
<pi-checkbox name="C">
选项三
</pi-checkbox>
</pi-checkbox-group>
</template>
<script>
export default {
data() {
return {
max2: ['A', 'B'], // 最多选择2项
}
}
}
</script>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
# 全选与反选
checkbox-group提供了toggleSelect方法可实现全选与反选,可以通过this.$refs.checkboxGroup.toggleSelect
调用
<template>
<pi-card>
<pi-section slot="title" padding="0" title="全选与反选" />
<template slot="body">
<pi-checkbox-group
ref="checkboxGroup"
v-model="toggleSelected"
direction="vertical"
active-mode="fill"
>
<pi-checkbox name="A">
选项一
</pi-checkbox>
<pi-checkbox name="B">
选项二
</pi-checkbox>
<pi-checkbox name="C">
选项三
</pi-checkbox>
<pi-checkbox name="D">
选项三
</pi-checkbox>
</pi-checkbox-group>
</template>
<template slot="footer">
<pi-button
:custom-style="{ marginRight: '24rpx' }"
size="small"
type="primary"
@click="handleSelectAll"
>
全选
</pi-button>
<pi-button size="small" type="secondary" @click="handleUnSelectAll">
反选
</pi-button>
</template>
</pi-card>
</template>
<script>
export default {
data() {
return {
toggleSelected: ['A', 'C', 'D'] // 全选与反选
},
methods: {
handleSelectAll() {
this.$refs.checkboxGroup.toggleSelect(true)
},
handleUnSelectAll() {
this.$refs.checkboxGroup.toggleSelect(false)
}
}
}
}
</script>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
# API
# Checkbox Props
参数 | 说明 | 类型 | 必选 | 默认值 |
---|---|---|---|---|
v-model(value) | 是否为选中状态 | Boolean | false | - |
customStyle | 自定义样式,对象形式 | Object | false | - |
customClass | 自定义样式类,字符串形式 | String | false | - |
name | checkbox组件的标示符 | String | Number | false | - |
shape | 形状 | 'square' 'round' 'dot' 'text' | false | round |
borderRadius | 当shape为square的时候,设置圆角,单位rpx | String | Number | false | 8 |
border | 边框大小,单位rpx | String | Number | false | 2 |
disabled | 是否禁用复选框 | Boolean | false | false |
readonly | 是否只读模式 | Boolean | false | false |
size | checkbox大小,单位rpx | String | Number | false | 40 |
iconSize | checkbox icon 大小,单位rpx | String | Number | false | 24 |
activeColor | 选中时图标的颜色 | String | false | - |
activeMode | 激活模式 | 'line'-线框模式 'line-circle' - 线环 'fill'-实底 'fill-circle 填充环' | false | line |
# Checkbox Slots
名称 | 描述 | 插槽内容 |
---|---|---|
default | checkbox 默认插槽 | - |
# Checkbox Events
事件名 | 描述 | 参数 |
---|---|---|
change | 勾选状态发生变化 | true|false |
# CheckboxGroup Props
注意
CheckboxGroup
与Checkbox
同名的属性,相当于整体设置,会覆盖Checkbox
的属性
名称 | 描述 | 类型 | 必选 | 默认值 |
---|---|---|---|---|
value | 初始值 | — | false | - |
customStyle | 自定义样式,对象形式 | Object | false | {} |
customClass | 自定义样式类 | String | false | '' |
max | 最大可选数,0为无限制 | String | Number | false | 0 |
direction | 排列方向 | '' 'horizontal' 'vertical' | false | '' |
shape | 形状 | 'round' 'square' 'dot' 'text' | false | '' |
border | 边框大小,单位rpx | String | Number | false | 0 |
disabled | 是否禁用复选框 | Boolean | false | false |
size | checkbox大小,单位rpx | String | Number | false | 0 |
iconSize | checkbox icon 大小,单位rpx | String | Number | false | 0 |
activeColor | 选中时图标的颜色 | String | false | '' |
activeMode | 激活模式 | '' 'line' 'fill' | false | '' |
# CheckboxGroup Slots
名称 | 描述 | 插槽内容 |
---|---|---|
default | CheckboxGroup 默认插槽 | - |
# CheckboxGroup Events
事件名 | 描述 | 参数 |
---|---|---|
change | 包含的Checkbox 发生变化 | 当前选中的Checkbox name 集合 |