复选框组件 Checkbox-Group

单项选择器,与原生组件Checkbox-Group用法类似,内部由多个l-checkbox组件组成。

复选框 Checkbox

单选项目,与原生组件Checkbox用法类似,内部传入slot。与Checkbox-Group搭配使用。

基础案例

单项选择器内部由多个l-checkbox组成,linchange事件能监听到选中项的变化。

示例代码

  1. <l-checkbox-group bind:linchange="onChangeTap" >
  2. <l-checkbox
  3. wx:for-items="{{items}}"
  4. wx:key="{{item.value}}"
  5. key="{{item.value}}"
  6. checked="{{item.isChecked}}"
  7. disabled="{{item.disabled}}">
  8. {{item.value}}
  9. </l-checkbox>
  10. </l-checkbox-group>
  1. data: {
  2. items: [
  3. { value: '美国', isChecked: false, disabled: false },
  4. { value: '中国', isChecked: false, disabled: false },
  5. { value: '巴西', isChecked: false, disabled: false },
  6. { value: '日本', isChecked: false, disabled: false },
  7. { value: '英国', isChecked: false, disabled: false },
  8. { value: '法国', isChecked: false, disabled: false },
  9. ]
  10. }

单个Checkbox布局方式

根据具体需求,选择最佳的标签对齐方式(选中图标和内容部分)。

placement 默认值是 left ,即Checkbox的选中图标居左显示。值为 right 时,图标居右显示。

多个Checkbox布局方式

根据具体需求,选择最佳的多个Checkbox组件对齐方式,需要设置Checkbox-Group组件的placement属性。

placement 默认值是 column ,可选项为 row/column

示例代码

  1. <l-checkbox-group bind:linchange="onChangeTap" >
  2. <l-checkbox placement="right" key="1">中国</l-checkbox>
  3. <l-checkbox placement="right" key="2">美国</l-checkbox>
  4. </l-checkbox-group>

设置选中项的颜色

当我们需要改变checkbox选中时的颜色时,可以通过color 属性来设置

示例代码

  1. <l-checkbox key="中国" color="red" >中国</l-checkbox>
  2. <l-checkbox key="美国" selected-color="blue">美国</l-checkbox>
  3. <l-checkbox key="日本" disabled-color="#333">日本</l-checkbox>

设置禁用

当我们需要将某一个选项禁用时,设置 disabledtrue 即可。

示例代码

  1. <l-checkbox key="中国" disabled="{{true}}" >中国</l-checkbox>

更改Checkbox的大小

通过给checkbox的size属性设值可以改变checkbox的大小

示例代码

  1. <l-checkbox-group bind:linchange="onChangeTap" >
  2. <l-checkbox size="42rpx" placement="right" key="1">中国</l-checkbox>
  3. <l-checkbox size="42rpx" placement="right" key="2">美国</l-checkbox>
  4. </l-checkbox-group>

自定义checkbox的按钮部分

通过 <slot> 的方式可以自定义Checkbox组件的按钮部分,在此之前需要将custom设置为true

示例代码

  1. <l-checkbox key="中国" custom="{{true}}" disabled="{{true}}" >
  2. <image class="checkbox-img" src="path/to/img.png" slot="icon"/>
  3. 中国
  4. </l-checkbox>

设置最多、最少选项

通过 min/max 两个属性来设置复选框 最少/最多 可选个数

示例代码

  1. <l-checkbox-group bind:linchange="onChangeTap" min-selected="{{2}}" max-selected="{{4}}">
  2. <l-checkbox
  3. wx:for-items="{{items}}"
  4. wx:key="{{item.value}}"
  5. key="{{item.value}}"
  6. checked="{{item.isChecked}}"
  7. disabled="{{item.disabled}}">
  8. {{item.value}}
  9. </l-checkbox>
  10. </l-checkbox-group>
  1. data: {
  2. items: [
  3. { value: '美国', isChecked: false, disabled: false },
  4. { value: '中国', isChecked: false, disabled: false },
  5. { value: '巴西', isChecked: false, disabled: false },
  6. { value: '日本', isChecked: false, disabled: false },
  7. { value: '英国', isChecked: false, disabled: false },
  8. { value: '法国', isChecked: false, disabled: false },
  9. ]
  10. }

复选框组件属性(Checkbox Attributes)

参数说明类型可选值默认值
placementcheckbox 按钮的位置Stringleft/rightleft
custom是否自定义图标内容Booleantrue/falsefalse
keycheckbox唯一idString—-—-
cell可绑定一个Object对象,在linchange事件触发时,将返回这个当前单选项的cellObject—-—-
sizecheckbox的大小String——38rpx
disabled设置是否禁用Booleantrue/falsefalse
select-colorcheckbox选中时的颜色String#3963BC
disabled-colorcheckbox禁用时的颜色String#cccccc
colorcheckbox未选中时的颜色String#cccccc
checked当前checkbox是否选中Booleantrue/falsefalse

复选框组件外部样式类(Checkbox ExternalClasses)

外部样式类名说明备注
l-class设置checkbox的外部样式类
l-disabled-class设置checkbox禁用时的外部样式类

复选框组组件外部样式类(CheckboxGroup ExternalClasses)

外部样式类名说明备注
l-classcheckbox-group的外部样式类—-

复选框容器组件属性 (Checkbox-Group Attributes)

参数说明类型可选值默认值
placement更改checkbox的flex布局Stringrow/columncolumn
min-selected最少选中个数Number—-—-
max-selected最多选中个数Number—-—-

复选框组件事件 (Checkbox-Group Events)

事件名称说明返回值备注
bind:linchange点击时触发选中项发生变化时触发 linchange 事件,event.detail = {key: 选中项Checkbox的key, cell: checkbox-group传入的cell属性,checked: 按钮切换后的状态}-
bind:linout当设置了min-selected或者max-selected,选中数量不满足要求时触发 linout 事件event.detail = {key:当前点击checkbox的key, limitNumber: 选项个数限制的值, type: 数量溢出的类型,可选值 overflow_max_selected/overflow_min_selected}