摘要

作者:红目香薰
团队:坚果派
团队介绍:坚果派由坚果创建,团队拥有12个华为HDE以及若干其他领域的三十余位万粉博主运营。 

目录

摘要

HarmonyOS-UIAbitity-CheckboxGroup

接口

属性

事件

CheckboxGroupResult

SelectStatus枚举说明

分组按钮示例


HarmonyOS-UIAbitity-CheckboxGroup

多选框群组,用于控制多选框全选或者不全选状态。

接口

CheckboxGroup( options?: { group?: string } )

创建多选框群组,可以控制群组内的Checkbox全选或者不全选,相同group的Checkbox和CheckboxGroup为同一群组。

参数:

参数名

参数类型

必填

参数描述

group

string

群组名称。

属性

除支持通用属性外,还支持以下属性:

名称

参数类型

默认值

描述

selectAll

boolean

false

设置是否全选。

selectedColor

ResourceColor

-

设置被选中或部分选中状态的颜色。

事件

除支持通用事件外,还支持以下事件:

名称

功能描述

onChange (callback: (event: CheckboxGroupResult) => void )

CheckboxGroup的选中状态或群组内的Checkbox的选中状态发生变化时,触发回调。

CheckboxGroupResult

名称

参数类型

描述

name

Array<string>

checkBox名称。

status

SelectStatus

选中状态。

SelectStatus枚举说明

名称

描述

All

群组多选择框全部选择。

Part

群组多选择框部分选择。

None

群组多选择框全部没有选择。

分组按钮示例

示例:

示例代码:

// xxx.ets
@Entry
@Component
struct Index {
  build() {
    Scroll() {
      Column() {
        // 全选按钮
        Flex({ justifyContent: FlexAlign.Start, alignItems: ItemAlign.Center }) {
          CheckboxGroup({ group: 'checkboxGroup' })
            .selectedColor(0xed6f21)
            .onChange((itemName: CheckboxGroupResult) => {
              console.info("全选内容是:" + JSON.stringify(itemName))
            })
          Text('全选').fontSize(20)
        }

        // 选项1
        Flex({ justifyContent: FlexAlign.Start, alignItems: ItemAlign.Center }) {
          Checkbox({ name: 'checkbox1', group: 'checkboxGroup'})
            .selectedColor(0x39a2db)
            .onChange((value: boolean) => {
              console.info('按钮1:' + value)
            })
          Text('鲜花').fontSize(20)
        }

        // 选项2
        Flex({ justifyContent: FlexAlign.Start, alignItems: ItemAlign.Center }) {
          Checkbox({ name: 'checkbox2', group: 'checkboxGroup' })
            .selectedColor(0x39a2db)
            .onChange((value: boolean) => {
              console.info('按钮2:' + value)
            })
          Text('掌声').fontSize(20)
        }

        // 选项3
        Flex({ justifyContent: FlexAlign.Start, alignItems: ItemAlign.Center }) {
          Checkbox({ name: 'checkbox3', group: 'checkboxGroup' })
            .selectedColor(0x39a2db)
            .onChange((value: boolean) => {
              console.info('按钮3:' + value)
            })
          Text('赞美').fontSize(20)
        }
      }
    }
  }
}

Logo

讨论HarmonyOS开发技术,专注于API与组件、DevEco Studio、测试、元服务和应用上架分发等。

更多推荐