复选框组件 Checkbox-Group
单项选择器,与原生组件
Checkbox-Group
用法类似,内部由多个l-checkbox
组件组成。
复选框 Checkbox
单选项目,与原生组件
Checkbox
用法类似,内部可传入slot。与Checkbox-Group
搭配使用。
基础案例
单项选择器内部由多个l-checkbox
组成,linchange
事件能监听到选中项的变化。
示例代码
<l-checkbox-group current="{{current}}" bind:linchange="onChangeTap" >
<l-checkbox
wx:for-items="{{items}}"
wx:key="{{item.value}}"
value="{{item.value}}"
disabled="{{item.disabled}}">
</l-checkbox>
</l-checkbox-group>
data: {
current: ['中国', '美国'],
items: [
{ value: '美国' },
{ value: '中国' },
{ value: '巴西' },
{ value: '日本' },
{ value: '英国' },
{ value: '法国' },
]
}
单个Checkbox布局方式
根据具体需求,选择最佳的标签对齐方式(选中图标和内容部分)。
placement
默认值是 left
,即Checkbox的选中图标居左显示。值为 right
时,图标居右显示。
多个Checkbox布局方式
根据具体需求,选择最佳的多个Checkbox
组件对齐方式,需要设置Checkbox-Group
组件的placement
属性。
placement
默认值是 column
,可选项为 row/column
。
示例代码
<l-checkbox-group bind:linchange="onChangeTap" >
<l-checkbox placement="right" value="中国" />
<l-checkbox placement="right" value="美国" />
</l-checkbox-group>
设置选中项
当我们需要将某一个Checkbox
设置为当前选中项时,需要将当前checkbox
的value
值添加到 Checkbox-Group
的current
属性当中,current
接收一个数组。
注意事项
Checkbox-Group
的current
属性的类型是数组。
示例代码
<l-checkbox-group current="['中国']" bind:linchange="onChangeTap" >
<l-checkbox value="中国" />
<l-checkbox value="美国" />
</l-checkbox-group>
设置选中项的颜色
当我们需要改变checkbox
选中时的颜色时,可以通过color
属性来设置
示例代码
<l-checkbox value="中国" color="red" />
设置禁用
当我们需要将某一个选项禁用时,设置 disabled
为 true
即可。
示例代码
<l-checkbox value="中国" disabled="{{true}}" />
自定义checkbox的内容部分
通过 <slot>
的方式可以自定义Checkbox
组件的右边部分,在此之前需要将custom
设置为true
示例代码
<l-checkbox value="中国" custom="{{true}}" disabled="{{true}}" >
<view>
<image src="path/to/img.png" class="img"/>
<text>中国</text>
</view>
</l-checkbox>
注意事项
插入slot的时候,也需要设置value,这个value不会显示,但是会在你更改选中项的时候,用过linchange事件返回。用来通知开发者当前选中的是什么。
复选框组件属性(Checkbox Attributes)
参数 | 说明 | 类型 | 可选值 | 默认值 |
---|---|---|---|---|
value | 当前项的 value | String | ||
size | checkbox的大小 | String/Number | 36 | |
shape | checkbox的形状 | String | right/circle | 36 |
color | checkbox被选中时的颜色 | String | #38g9db | |
detail | 自定义任何内容,可以通过事件linchange获取到 | Object | {} | |
checked | 当前项是否选中,与Checkbox-Group 连用时失效。请查看Checkbox-Group的current属性介绍 | Boolean | true/false | false |
disabled | 设置是否禁用 | Boolean | true/false | false |
placement | 设置checkbox图标的位置 | String | left/right | left |
custom | 设置是否传入slot | Boolean | true/false | false |
l-class | 设置checkbox的外部样式类 | String | ||
l-title-class | 设置checkbox文字部分的外部样式类 | String | ||
tip-type | 校验错误提醒方式 | String | toast/message/text | - |
l-error-text | tipType 为 text 时,错误提示信息外部样式类 | String |
复选框容器组件属性 (Checkbox-Group Attributes)
参数 | 说明 | 类型 | 可选值 | 默认值 |
---|---|---|---|---|
current | 接受一个数组,如果checkbox组件的value值能在数组中找到与它相等的,那么该checkbox会标记选中 | Array | ||
placement | 更改checkbox的flex布局 | String | row/column | column |
复选框组件事件 (Checkbox-Group Events)
事件名称 | 说明 | 返回值 | 备注 |
---|---|---|---|
bind:linchange | 点击时触发 | 选中项发生变化时触发 linchange 事件,event.detail = {value: 选中项Checkbox的value, detail: checkbox组件detail属性传递的内容(你可以传递这个选项的value和id等等),all: 所有选中的CheckBox的detail属性集合} | - |