0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

鸿蒙ArkTS声明式组件:CheckboxGroup

jf_46214456 来源:jf_46214456 作者:jf_46214456 2024-06-21 09:47 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

CheckboxGroup

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

说明:
开发前请熟悉鸿蒙开发指导文档 :[gitee.com/li-shizhen-skin/harmony-os/blob/master/README.md]
该组件从API Version 8开始支持。后续版本如有新增内容,则采用上角标单独标记该内容的起始版本。

子组件

接口

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

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

从API version 9开始,该接口支持在ArkTS卡片中使用。

参数:

参数名参数类型必填参数描述
groupstring群组名称。**说明:**多个相同群组名称的CheckboxGroup,仅第一个CheckboxGroup生效。

属性

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

名称参数类型描述
selectAllboolean设置是否全选。 默认值:false,若同组的[Checkbox]设置了select属性,则Checkbox的优先级高。 从API version 9开始,该接口支持在ArkTS卡片中使用。**说明:**若同组的[Checkbox]显式设置了select属性,则Checkbox的优先级高。 从API version 10开始,该属性支持[$$]双向绑定变量。
selectedColor[ResourceColor]设置被选中或部分选中状态的颜色。 从API version 9开始,该接口支持在ArkTS卡片中使用。
unselectedColor10+[ResourceColor]设置非选中状态边框颜色。
mark10+[MarkStyle]多选框内部图标样式。

事件

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

名称功能描述
onChange (callback: (event: [CheckboxGroupResult]) => void )CheckboxGroup的选中状态或群组内的Checkbox的选中状态发生变化时,触发回调。 从API version 9开始,该接口支持在ArkTS卡片中使用。

CheckboxGroupResult对象说明

从API version 9开始,该接口支持在ArkTS卡片中使用。

名称类型描述
nameArray群组内所有被选中的多选框名称。
status[SelectStatus]选中状态。

SelectStatus枚举说明

从API version 9开始,该接口支持在ArkTS卡片中使用。

名称描述
All群组多选择框全部选择。
Part群组多选择框部分选择。
None群组多选择框全部没有选择。

MarkStyle10+对象说明

名称类型必填默认值描述
strokeColor[ResourceColor]Color.White内部图标颜色。
sizenumberstring-
strokeWidthnumberstring2

示例

示例1

// xxx.ets
@Entry
@Component
struct CheckboxExample {
  build() {
    Scroll() {
      Column() {
        // 全选按钮
        Flex({ justifyContent: FlexAlign.Start, alignItems: ItemAlign.Center }) {
          CheckboxGroup({ group: 'checkboxGroup' })
            .selectedColor('#007DFF')
            .onChange((itemName: CheckboxGroupResult) = > {
              console.info("checkbox group content" + JSON.stringify(itemName))
            })
          Text('Select All').fontSize(14).lineHeight(20).fontColor('#182431').fontWeight(500)
        }

        // 选项1
        Flex({ justifyContent: FlexAlign.Start, alignItems: ItemAlign.Center }) {
          Checkbox({ name: 'checkbox1', group: 'checkboxGroup' })
            .selectedColor('#007DFF')
            .onChange((value: boolean) = > {
              console.info('Checkbox1 change is' + value)
            })
          Text('Checkbox1').fontSize(14).lineHeight(20).fontColor('#182431').fontWeight(500)
        }.margin({ left: 36 })

        // 选项2
        Flex({ justifyContent: FlexAlign.Start, alignItems: ItemAlign.Center }) {
          Checkbox({ name: 'checkbox2', group: 'checkboxGroup' })
            .selectedColor('#007DFF')
            .onChange((value: boolean) = > {
              console.info('Checkbox2 change is' + value)
            })
          Text('Checkbox2').fontSize(14).lineHeight(20).fontColor('#182431').fontWeight(500)
        }.margin({ left: 36 })

        // 选项3
        Flex({ justifyContent: FlexAlign.Start, alignItems: ItemAlign.Center }) {
          Checkbox({ name: 'checkbox3', group: 'checkboxGroup' })
            .selectedColor('#007DFF')
            .onChange((value: boolean) = > {
              console.info('Checkbox3 change is' + value)
            })
          Text('Checkbox3').fontSize(14).lineHeight(20).fontColor('#182431').fontWeight(500)
        }.margin({ left: 36 })
      }
    }
  }
}

checkboxGroup

示例2

// xxx.ets
@Entry
@Component
struct Index {

  build() {
    Row() {
      Column() {
        Flex({ justifyContent: FlexAlign.Center, alignItems: ItemAlign.Center }) {
          CheckboxGroup({ group: 'checkboxGroup' })
            .selectedColor(Color.Orange)
            .onChange((itemName: CheckboxGroupResult) = > {
              console.info("checkbox group content" + JSON.stringify(itemName))
            })
            .mark({
              strokeColor:Color.Black,
              size: 40,
              strokeWidth: 5
            })
            .unselectedColor(Color.Red)
            .width(30)
            .height(30)
          Text('Select All').fontSize(20)
        }.margin({right:15})
        Flex({ justifyContent: FlexAlign.Center, alignItems: ItemAlign.Center }) {
          Checkbox({ name: 'checkbox1', group: 'checkboxGroup' })
            .selectedColor(0x39a2db)
            .onChange((value: boolean) = > {
              console.info('Checkbox1 change is'+ value)
            })
            .mark({
              strokeColor:Color.Black,
              size: 50,
              strokeWidth: 5
            })
            .unselectedColor(Color.Red)
            .width(30)
            .height(30)
          Text('Checkbox1').fontSize(20)
        }
        Flex({ justifyContent: FlexAlign.Center, alignItems: ItemAlign.Center }) {
          Checkbox({ name: 'checkbox2', group: 'checkboxGroup' })
            .selectedColor(0x39a2db)
            .onChange((value: boolean) = > {
              console.info('Checkbox2 change is' + value)
            })
            .width(30)
            .height(30)
          Text('Checkbox2').fontSize(20)
        }
        Flex({ justifyContent: FlexAlign.Center, alignItems: ItemAlign.Center }) {
          Checkbox({ name: 'checkbox3', group: 'checkboxGroup' })
            .selectedColor(0x39a2db)
            .onChange((value: boolean) = > {
              console.info('Checkbox3 change is' + value)
            })
            .width(30)
            .height(30)
          Text('Checkbox3').fontSize(20)
        }
      }
      .width('100%')
    }
    .height('100%')
  }
}

搜狗高速浏览器截图20240326151450.png

checkboxGroup

审核编辑 黄宇

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 组件
    +关注

    关注

    1

    文章

    602

    浏览量

    19067
  • 鸿蒙
    +关注

    关注

    60

    文章

    3018

    浏览量

    46172
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    基于凌羽派的OpenHarmony北向应用开发:ArkTS语法-数据类型和变量声明

    包含初始值,开发者无需显指定类型,因为ArkTS规范已列举了所有允许自动推断类型的场景。 以下示例中,两条声明语句都是有效的,两个变量都是string类型: let hi1: string
    发表于 02-26 14:24

    基于凌羽派的OpenHarmony北向应用开发:ArkTS语法-数据类型和变量声明

    一、简介ArkTS是一种设计用于构建高性能应用的编程语言。它在继承TypeScript语法的基础上进行了优化,以提供更高的性能和开发效率。环境配置如下所示:API:18SDK:OpenHarmony-v5.1.0-Release
    的头像 发表于 02-26 13:55 391次阅读
    基于凌羽派的OpenHarmony北向应用开发:<b class='flag-5'>ArkTS</b>语法-数据类型和变量<b class='flag-5'>声明</b>

    钉钉正式开源HarmonyOS图片编辑组件

    近日,由钉钉团队自主研发的“HarmonyOS图片编辑组件”正式上线OpenHarmony三方库中心仓并开源。作为一款填补鸿蒙社区图像处理领域空白的重量级组件,该方案基于HarmonyOS
    的头像 发表于 01-05 09:58 670次阅读

    发布元服务配置隐私声明

    服务”。 选择要发布的元服务。 左侧导航选择“应用上架 > 版本信息”下待发布的版本。 进入“隐私声明”区域,选择您生成的隐私政策和用户协议。 本文参考鸿蒙官方文档
    发表于 11-25 11:24

    鸿蒙非侵入弹窗新解法,企查查正式开源“QuickDialog”弹窗组件

    近日,企查查将其自研的鸿蒙弹窗组件库“QuickDialog”开源,并上线至 OpenHarmony 三方库中心仓。这是鸿蒙生态首个支持“弹窗堆栈暂存能力”的非侵入弹窗解决方案,凭借
    的头像 发表于 07-31 10:40 834次阅读
    <b class='flag-5'>鸿蒙</b>非侵入<b class='flag-5'>式</b>弹窗新解法,企查查正式开源“QuickDialog”弹窗<b class='flag-5'>组件</b>库

    【HarmonyOS 5】鸿蒙页面和组件生命周期函数

    【HarmonyOS 5】鸿蒙页面和组件生命周期函数 ##鸿蒙开发能力 ##HarmonyOS SDK应用服务##鸿蒙金融类应用 (金融理财# 一、生命周期阶段: 创建阶段 build
    的头像 发表于 07-11 18:24 1184次阅读

    【HarmonyOS 5】金融应用开发鸿蒙组件实践

    【HarmonyOS 5】金融应用开发鸿蒙组件实践 ##鸿蒙开发能力 ##HarmonyOS SDK应用服务##鸿蒙金融类应用 (金融理财# 一、鸿
    的头像 发表于 07-11 18:20 1128次阅读
    【HarmonyOS 5】金融应用开发<b class='flag-5'>鸿蒙</b><b class='flag-5'>组件</b>实践

    【 HarmonyOS 5 入门系列 】鸿蒙HarmonyOS示例项目讲解

    【 HarmonyOS 5 入门系列 】鸿蒙HarmonyOS示例项目讲解 ##鸿蒙开发能力 ##HarmonyOS SDK应用服务##鸿蒙金融类应用 (金融理财# 一、前言:移动开发声明
    的头像 发表于 07-07 11:57 1190次阅读
    【 HarmonyOS 5 入门系列 】<b class='flag-5'>鸿蒙</b>HarmonyOS示例项目讲解

    ArkUI介绍

    范式,分别是基于ArkTS声明开发范式(简称“声明开发范式”)和兼容JS的类Web开发范式(简称“类Web开发范式”)。
    发表于 06-24 06:41

    UI开发概述

    应用开发在TypeScript(简称TS)生态基础上做了进一步扩展。扩展能力包含声明UI描述、自定义组件、动态扩展UI元素、状态管理和渲染控制。状态管理作为基于ArkTS
    发表于 06-24 06:36

    什么是ArkTS

    ArkTS简介 ArkTS是OpenHarmony优选的应用高级开发语言。ArkTS提供了声明UI范式、状态管理支持等相应的能力,让开发
    发表于 06-17 06:24

    鸿蒙5开发宝藏案例分享---应用并发设计

    ?** 鸿蒙并发编程实战指南:解锁ArkTS多线程黑科技** 嘿,开发者朋友们! 今天给大家扒一扒鸿蒙官方文档里藏着的并发编程宝藏—— 100+实战场景解决方案 !从金融理财到游戏开发,从折叠屏适配
    发表于 06-12 16:19

    使用DevEcoStudio 开发、编译鸿蒙 NEXT_APP 以及使用中文插件

    使用 ArkTS 声明语法: @Entry @Component export struct Index { @State message: string = \'Hello World
    发表于 06-11 17:18

    Kuikly鸿蒙版正式开源 —— 揭秘卓越性能适配之旅

    的 ArkUI 来编写的,UI组件由数据和UI描述组成,UI更新只能通过修改其绑定的数据来实现。渲染层怎样驱动声明的ArkUI成为了鸿蒙版适配的第一个问题。 初步解决方案:统一Bui
    发表于 06-04 16:46

    如何将一个FA模型开发的声明范式应用切换到Stage模型

    模型切换概述 本文介绍如何将一个FA模型开发的声明范式应用切换到Stage模型,您需要完成如下动作: 工程切换:新建一个Stage模型的应用工程。 配置文件切换:config.json切换
    发表于 06-04 06:22