1# Checkbox 2 3提供多选框组件,通常用于某选项的打开或关闭。 4 5> **说明:** 6> 7> 该组件从API Version 8开始支持。后续版本如有新增内容,则采用上角标单独标记该内容的起始版本。 8 9## 子组件 10 11无 12 13## 接口 14 15Checkbox(options?: {name?: string, group?: string }) 16 17从API version 9开始,该接口支持在ArkTS卡片中使用。 18 19**参数:** 20 21| 参数名 | 参数类型 | 必填 | 参数描述 | 22| --------| --------| ------ | -------- | 23| name | string | 否 | 多选框名称。 | 24| group | string | 否 | 多选框的群组名称。<br/>**说明:** <br/>未配合使用CheckboxGroup组件时,此值无用。 | 25 26## 属性 27 28除支持[通用属性](ts-universal-attributes-size.md)外,还支持以下属性: 29 30 31| 名称 | 参数类型 | 描述 | 32| ------------- | ------- | -------- | 33| select | boolean | 设置多选框是否选中。<br/>默认值:false<br/>从API version 9开始,该接口支持在ArkTS卡片中使用。<br />从API version 10开始,该属性支持[$$](../../quick-start/arkts-two-way-sync.md)双向绑定变量。 | 34| selectedColor | [ResourceColor](ts-types.md#resourcecolor) | 设置多选框选中状态颜色。<br/>从API version 9开始,该接口支持在ArkTS卡片中使用。 | 35| unselectedColor<sup>10+</sup> | [ResourceColor](ts-types.md#resourcecolor) | 设置多选框非选中状态边框颜色。 | 36| mark<sup>10+</sup> | [MarkStyle](#markstyle10对象说明) | 多选框内部图标样式。 | 37 38## 事件 39 40支持[通用事件](ts-universal-events-click.md)外,还支持以下事件: 41 42| 名称 | 功能描述 | 43| -------------------------------------------- | ------------------------------------------------------------ | 44| onChange(callback: (value: boolean) => void) | 当选中状态发生变化时,触发该回调。<br>- value为true时,表示已选中。<br>- value为false时,表示未选中。<br/>从API version 9开始,该接口支持在ArkTS卡片中使用。 | 45 46## MarkStyle<sup>10+</sup>对象说明 47 48| 名称 | 类型 | 必填 | 默认值 | 描述 | 49| ----------- | ------------------------------------------ | ---- | ----------- | ------------------------------------------------------------ | 50| strokeColor | [ResourceColor](ts-types.md#resourcecolor) | 否 | Color.White | 内部图标颜色。 | 51| size | number \| string | 否 | - | 内部图标大小,单位vp。默认大小与多选框组件宽度设置值一致。<br />不支持百分比形式设置。当设置为非法值时,按照默认值处理。 | 52| strokeWidth | number \| string | 否 | 2 | 内部图标粗细,单位vp。不支持百分比形式设置。当设置为非法值时,按照默认值处理。 | 53 54## 示例 55 56### 示例1 57 58```ts 59// xxx.ets 60@Entry 61@Component 62struct CheckboxExample { 63 64 build() { 65 Row() { 66 Checkbox({name: 'checkbox1', group: 'checkboxGroup'}) 67 .select(true) 68 .selectedColor(0xed6f21) 69 .onChange((value: boolean) => { 70 console.info('Checkbox1 change is'+ value) 71 }) 72 Checkbox({name: 'checkbox2', group: 'checkboxGroup'}) 73 .select(false) 74 .selectedColor(0x39a2db) 75 .onChange((value: boolean) => { 76 console.info('Checkbox2 change is'+ value) 77 }) 78 } 79 } 80} 81``` 82 83 84 85 86### 示例2 87 88```ts 89// xxx.ets 90@Entry 91@Component 92struct Index { 93 94 build() { 95 Row() { 96 Column() { 97 Flex({ justifyContent: FlexAlign.Center, alignItems: ItemAlign.Center }) { 98 Checkbox({ name: 'checkbox1', group: 'checkboxGroup' }) 99 .selectedColor(0x39a2db) 100 .onChange((value: boolean) => { 101 console.info('Checkbox1 change is'+ value) 102 }) 103 .mark({ 104 strokeColor:Color.Black, 105 size: 50, 106 strokeWidth: 5 107 }) 108 .unselectedColor(Color.Red) 109 .width(30) 110 .height(30) 111 Text('Checkbox1').fontSize(20) 112 } 113 Flex({ justifyContent: FlexAlign.Center, alignItems: ItemAlign.Center }) { 114 Checkbox({ name: 'checkbox2', group: 'checkboxGroup' }) 115 .selectedColor(0x39a2db) 116 .onChange((value: boolean) => { 117 console.info('Checkbox2 change is' + value) 118 }) 119 .width(30) 120 .height(30) 121 Text('Checkbox2').fontSize(20) 122 } 123 } 124 .width('100%') 125 } 126 .height('100%') 127 } 128} 129``` 130 131 132