# Checkbox 复选框
# 使用指南
Component({
data: {
checked1: true,
checked2: true,
checked3: false,
checked4: false,
checked5: false,
checked6: false,
checked7: false,
result1: [],
result2: [],
result3: [],
result4: [],
list: ['a', 'b', 'c'],
},
onChange(event) {
const { key } = event.currentTarget.dataset;
this.setData({
[key]: event.detail,
});
},
onGroupChange(event) {
const { key } = event.currentTarget.dataset;
this.setData({
[key]: event.detail,
});
},
toggle(event) {
const { index } = event.currentTarget.dataset;
const checkbox = this.selectComponent(`.checkboxes-${index}`);
checkbox.toggle();
},
});
<view class="container">
<view>
基础用法
<tms-checkbox data-key='checked1' value="{{ checked1 }}" bind:on-change="onChange">复选框</tms-checkbox>
</view>
<view>
自定义大小
<tms-checkbox data-key='checked2' value="{{ checked2 }}" icon-size="26" bind:on-change="onChange">复选框</tms-checkbox>
</view>
<view>
禁用状态
<tms-checkbox disabled data-key='checked4' value="{{ checked4 }}" bind:on-change="onChange">复选框</tms-checkbox>
</view>
复选框组
<tms-checkbox-group
data-key="result1"
value="{{ result1 }}"
bind:on-change="onGroupChange"
>
<tms-checkbox name="a">复选框 a</tms-checkbox>
<tms-checkbox name="b">复选框 b</tms-checkbox>
<tms-checkbox name="c">复选框 b</tms-checkbox>
</tms-checkbox-group>
禁止所有
<tms-checkbox-group
data-key="result4"
disabled
value="{{ result4 }}"
bind:on-change="onGroupChange"
>
<tms-checkbox name="a">复选框 a</tms-checkbox>
<tms-checkbox name="b">复选框 b</tms-checkbox>
<tms-checkbox name="c">复选框 c</tms-checkbox>
</tms-checkbox-group>
禁止单个
<tms-checkbox-group
data-key="result2"
value="{{ result2 }}"
bind:on-change="onGroupChange"
>
<tms-checkbox name="a" disabled>复选框 a</tms-checkbox>
<tms-checkbox name="b">复选框 b</tms-checkbox>
<tms-checkbox name="c">复选框 c</tms-checkbox>
</tms-checkbox-group>
排版变化
<tms-checkbox-group
data-key="result3"
value="{{ result3 }}"
bind:on-change="onGroupChange"
direction="row"
>
<tms-checkbox name="a">复选框 a</tms-checkbox>
<tms-checkbox name="b">复选框 b</tms-checkbox>
<tms-checkbox name="c">复选框 c</tms-checkbox>
</tms-checkbox-group>
</view>
# checkbox api
| 属性 | 说明 | 类型 | 可选值 | 默认值 |
|---|---|---|---|---|
| value | 是否为选中状态 | Boolean | — | false |
| disabled | 是否禁用单选框 | Boolean | — | false |
| iconSize | icon 图标大小,默认使用rpx单位 | String, Number | — | 40rpx |
| useIconSlot | 是否使用 icon slot | Boolean | — | false |
| checked-icon | 勾选状态图标,支持内置icon和外链 | String | — | checkbox-active |
| uncheck-icon | 未勾选状态图标,支持内置icon和外链 | String | — | checkbox |
| name | 标识 Checkbox 名称 | String | — | — |
# 事件
| 事件名 | 说明 | 参数 |
|---|---|---|
| bind:on-change | 当绑定值变化时触发的事件 | {value:当前值} |
# 插槽
| 插槽名称 | 说明 |
|---|---|
| — | 自定义文本 |
| icon | 自定义图标 |
# checkbox-group api
| 属性 | 说明 | 类型 | 可选值 | 默认值 |
|---|---|---|---|---|
| value | 所有选中项的 name | Array | — | false |
| disabled | 是否禁用所有单选框 | Boolean | — | false |
| name | 在表单内提交时的标识符 | String | — | — |
| direction | 选项排版方向 | column, row | — | column |
| container-style | check-box父元素样式 | String | — | '' |
# CheckboxGroup 事件
| 事件名 | 说明 | 参数 |
|---|---|---|
| bind:on-change | 当绑定值变化时触发的事件 | — 当前值 |
# CSS变量
// 标签字体大小
--checkbox-label-size: 26rpx;
// 标签文本颜色
--checkbox-label-color: #333;
// 勾选状态文本颜色
--checkbox-label-checked-color: #333;
