# Cube-Checkbox

# 介绍

复选框,可设置其状态、传入特殊 class 以及复选框图标位置。

# 示例

# 基础用法

设置双向绑定的值为 true,此时复选框处于默认选中状态。

收起
<template>
  <view class="checkbox-demo">
    <view-desc>默认勾选:{{ checkboxValue }}</view-desc>
    <view class="cube-checkbox-example">
      <cube-checkbox  wx:model="{{ checkboxValue }}" wx:model-prop="value">Default Checked</cube-checkbox>
    </view>
  </view>
</template>
1
2
3
4
5
6
7
8
收起
<script>
import { createComponent } from '@mpxjs/core'

createComponent({
  options: {
    styleIsolation: 'shared'
  },
  data: {
    checkboxValue: true
  }
})
</script>
1
2
3
4
5
6
7
8
9
10
11
12

# 禁用选项

option 里配置 disabled 属性值为 true,当前选项将处于禁用状态。

收起
<template>
  <view class="checkbox-disabled-demo">
    <view-desc>禁用选项</view-desc>
    <view class="cube-checkbox-example">
      <cube-checkbox  option="{{ option }}" shape="square">Disabled</cube-checkbox>
    </view>

    <view-desc>禁用选项</view-desc>
    <view class="cube-checkbox-example">
      <cube-checkbox  option="{{ option }}">Disabled</cube-checkbox>
    </view>
  </view>
</template>
1
2
3
4
5
6
7
8
9
10
11
12
13
收起
<script>
import { createComponent } from '@mpxjs/core'

createComponent({
  options: {
    styleIsolation: 'shared'
  },
  data: {
    option: {
      disabled: true
    }
  }
})
</script>
1
2
3
4
5
6
7
8
9
10
11
12
13
14

# 支持描述文案

option 配置项除了可以设置 text,还可以设置 desc 作为描述文案显示在第二行。

收起
<template>
  <view class="checkbox-desc-support-demo">
    <view-desc>支持描述文案:{{ checkboxValue }}</view-desc>
    <view class="cube-checkbox-example">
      <cube-checkbox  option="{{ option }}" shape="square" wx:model="{{ checkboxValue }}" wx:model-prop="value">
      </cube-checkbox>
    </view>
  </view>
</template>
1
2
3
4
5
6
7
8
9
收起
<script>
import { createComponent } from '@mpxjs/core'

createComponent({
  options: {
    styleIsolation: 'shared'
  },
  data: {
    option: {
      value: '橘子🍊',
      text: '选择一',
      desc: '橘子🍊',
      position: 'right'
    },
    checkboxValue: false
  }
})
</script>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18

# 设置图标位置

option 里配置 position 属性值为 right,图标将会显示在右侧。

收起
<template>
  <view class="checkbox-styled-demo">
    <view-desc>圆形选项:{{ checkboxValue }}</view-desc>
    <view class="cube-checkbox-example">
      <cube-checkbox wx:model="{{ checkboxValue }}" wx:model-prop="value">Checkbox</cube-checkbox>
    </view>

    <view-desc>方形选择框:{{ checkboxValue }}</view-desc>
    <view class="cube-checkbox-example">
      <cube-checkbox
        option="{{ option }}"
        shape="square"
        wx:model="{{ checkboxValue }}"
        wx:model-prop="value"
      >Styled Checkbox</cube-checkbox>
    </view>
  </view>
</template>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
收起
<script>
import { createComponent } from '@mpxjs/core'

createComponent({
  options: {
    styleIsolation: 'shared'
  },
  data: {
    option: {
      position: 'right'
    },
    checkboxValue: false
  }
})
</script>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15

# Props

参数 说明 类型 可选值 默认值
themeType 用于生成最外层类名 如原类名为 cube-component,添加 themeType = demo 后,类名变为 cube-component cube-component-demo String - -
option 配置项 Object Option Option
value 双向绑定是否选中 Boolean true/false false
shape 复选框形状 String round/square round

# TsType

Name Type
Option
{
desc?: string;
disabled?: boolean;
position?: left|right;
text?: string;
value: string|number;
}

# Events

事件名 说明 参数
input 当绑定值变化时触发 事件对象 e,包含选中态 value,以及 option 里定义的 value

# Slots

插槽名 说明
— (默认插槽) 自定义文本插槽内容

# CSS Variable

变量名 默认值 含义
$checkbox-checked-color 复选框主色
$checkbox-ui-round-width
18px
圆形复选框宽度
$checkbox-ui-round-height 圆形复选框高度
$checkbox-ui-square-width
18px
方形复选框宽度
$checkbox-ui-square-height 方形复选框高度
$checkbox-ui-width 复选框宽度
$checkbox-ui-height 复选框高度
$checkbox-inner-ui-width
7px
复选框内部选中宽度
$checkbox-inner-ui-height
4px
复选框内部选中高度
$checkbox-ui-round-border
1px solid #C8C9CC
圆形复选框边框
$checkbox-ui-square-border
1px solid #C8C9CC
方形复选框边框
$checkbox-ui-round-border_disabled 圆形复选框禁用边框
$checkbox-ui-square-border_disabled 方形复选框禁用边框
$checkbox-ui-round-border_checked 圆形复选框选中边框
$cube-checkbox-ui_checked 复选框选中边框
$checkbox-ui-square-border_checked
none
方形复选框选中边框
$checkbox-inner-ui-border 复选框内部选中边框
$checkbox-ui-round-bgc
#FAFAFA
圆形复选框背景色
$checkbox-ui-square-bgc 方形复选框背景色
$checkbox-ui-round-bgc_checked
#FFF8F4
圆形复选框选中背景色
$checkbox-ui-square-bgc_checked 方形复选框选中背景色
$checkbox-ui-round-bgimg
url('data:image/svg+xml;base64...
圆形复选框选中图形(对勾)
$checkbox-ui-square-bgimg
url('data:image/svg+xml;base64...
方形复选框选中图形(对勾)
$checkbox-ui-bg_disabled 复选框禁用背景色
$checkbox-ui-bg-opacity
.3
复选框禁用透明度
$checkbox-ui-square-radius
4px
方形复选框圆角
$checkbox-ui-round-radius
50%
圆形复选框圆角
$checkbox-ui-margin
0 0 0 10px
复选框外边距
$checkbox-ui-margin-right
10px
复选框右边距
$checkbox-ui-round-margin-right
10px
圆形复选框右边距
$checkbox-ui-square-margin-right
10px
方形复选框右边距
$checkbox-label-padding
10px 0
标签内边距
$checkbox-text-desc-color_disabled
unset
禁用文本颜色
$checkbox-text-font-size
18px
文本字号
$checkbox-text-font-weight
700
文本字重
$checkbox-desc-font-size
12px
描述文本字号
$checkbox-text-color 复文颜色
$checkbox-desc-color
#757575
描述文本颜色
$checkbox-text-line-height
1
文本行高
$checkbox-desc-line-height
1.2
描述文本行高
$checkbox-inner-ui-transition
transform .2s
内部选中过渡