Checkbox 复选框

复选框组件一般用于需要多个选择的场景,该组件功能完整,使用方便

平台差异说明

AppH5微信小程序支付宝小程序百度小程序头条小程序QQ小程序

基本使用

  • 该组件需要搭配checkboxGroup组件使用,以便用户进行操作时,获得当前复选框组的选中情况,当然,您也可以单独对某个checkbox进行事件监听
  • 通过v-modelcheckbox绑定一个变量,这个绑定的变量是双向的(初始值只能是true或者false),也就是说,您可以无需监听checkbox或者checkboxGroup组件的change事件,也能知道哪个复选框 被勾选了

注意: 由于checkbox组件需要由checkboxGroup组件提供参数值,这些父子组件间通过Vue的”provide/inject”特性注入依赖, 所以您必须使用checkboxGroup包裹checkbox组件才能正常使用。

  1. <template>
  2. <view class="">
  3. <u-checkbox-group @change="checkboxGroupChange">
  4. <u-checkbox
  5. @change="checkboxChange"
  6. v-model="item.checked"
  7. v-for="(item, index) in list" :key="index"
  8. :name="item.name"
  9. >{{item.name}}</u-checkbox>
  10. </u-checkbox-group>
  11. </view>
  12. </template>
  13. <script>
  14. export default {
  15. data() {
  16. return {
  17. list: [
  18. {
  19. name: 'apple',
  20. checked: false,
  21. disabled: false
  22. },
  23. {
  24. name: 'banner',
  25. checked: false,
  26. disabled: false
  27. },
  28. {
  29. name: 'orange',
  30. checked: false,
  31. disabled: false
  32. }
  33. ]
  34. };
  35. },
  36. methods: {
  37. // 选中某个复选框时,由checkbox时触发
  38. checkboxChange(e) {
  39. //console.log(e);
  40. },
  41. // 选中任一checkbox时,由checkbox-group触发
  42. checkboxGroupChange(e) {
  43. // console.log(e);
  44. }
  45. }
  46. };
  47. </script>

禁用checkbox

设置disabledtrue,即可禁用某个组件,让用户无法点击,禁用分为两种状态,一是未勾选前禁用,这时只显示一个灰色的区域。二是已勾选后 再禁用,会有灰色的已勾选的图标,但此时依然是不可操作的。

  1. <u-checkbox-group>
  2. <u-checkbox v-model="checked" :disabled="false">天涯</u-checkbox>
  3. </u-checkbox-group>

自定义形状

可以通过设置shapesquare或者circle,将复选框设置为方形或者圆形

  1. <u-checkbox-group>
  2. <u-checkbox v-model="checked" shape="circle">明月</u-checkbox>
  3. </u-checkbox-group>

自定义颜色

此处所指的颜色,为checkbox选中时的背景颜色,参数为active-color

  1. <u-checkbox-group>
  2. <u-checkbox v-model="checked" active-color="red">光影</u-checkbox>
  3. </u-checkbox-group>

文本是否可点击

设置label-disabledfalse,点击文本时,无法操作checkbox

  1. <u-checkbox-group>
  2. <u-checkbox v-model="checked" :label-disabled="false">剑舞</u-checkbox>
  3. </u-checkbox-group>

API

Checkbox Props

注意:需要给checkbox组件通过v-model绑定一个布尔值,来初始化checkbox的状态,随后该值被双向绑定, 当用户勾选复选框时,该值在checkbox内部被修改为true,并反映到父组件,否则为false,换言之,您无需监听checkboxchange事件,也能 知道某一个checkbox是否被选中的状态

参数说明类型默认值可选值
icon-size图标大小,单位rpxString \ Number24-
label-sizelabel字体大小,单位rpxString \ Number28-
namecheckbox组件的标示符String \ Number--
shape形状,见上方说明Stringcirclesquare
disabled是否禁用Booleanfalsetrue
label-disabled点击文本是否可以操作checkboxBooleantruefalse
active-color选中时的颜色,如设置CheckboxGroupactive-color将失效String--

CheckboxGroup Props

参数说明类型默认值可选值
max最多能选中多少个checkboxString \ Number999-
disabled是否禁用所有checkboxBooleanfalsetrue
size组件整体的大小,单位rpxString \ Number40-
active-color选中时的颜色,应用到所有子Checkbox组件String#2979ff-

Checkbox Event

事件名说明回调参数版本
change某个checkbox状态发生变化时触发,回调为一个对象detail = {value: [true或者false,true为被选中,否则反之], name: [通过props传递的name参数] }-

CheckboxGroup Event

事件名说明回调参数版本
change任一个checkbox状态发生变化时触发,回调为一个对象detail = array( [元素为被选中的checkboxname] )-