鸿蒙(HarmonyOS)项目方舟框架(ArkUI)之CheckboxGroup组件

本文详细介绍了鸿蒙系统HarmonyOS的方舟框架ArkUI中的CheckboxGroup组件,包括其操作环境、接口、子组件、属性、事件以及一个示例代码,展示了如何创建和控制多选框群组的选中状态。
摘要由CSDN通过智能技术生成

鸿蒙(HarmonyOS)项目方舟框架(ArkUI)之CheckboxGroup组件

一、操作环境

操作系统:  Windows 10 专业版、IDE:DevEco Studio 3.1、SDK:HarmonyOS 3.1+

二、CheckboxGroup组件

提供多选框组件,通常用于某选项的打开或关闭。

子组件

无。

接口

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

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

参数

参数名

参数类型

必填

参数描述

group

string

群组名称。

说明:

多个相同群组名称的CheckboxGroup,仅第一个CheckboxGroup生效。

属性

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

名称

参数类型

描述

selectAll

boolean

设置是否全选。

默认值:false,若同组的Checkbox显式设置select,则Checkbox的优先级高。

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

selectedColor

ResourceColor

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

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

事件

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

名称

功能描述

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

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

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

CheckboxGroupResult对象说明

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

名称

类型

描述

name

Array<string>

群组内所有被选中的多选框名称。

status

SelectStatus

选中状态。

SelectStatus枚举说明

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

名称

描述

All

群组多选择框全部选择。

Part

群组多选择框部分选择。

None

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

 

三、示例

代码

 

// 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 })
      }
    }
  }
}
图例

 

你有时间常去我家看看我在这里谢谢你啦...

我家地址:亚丁号

最后送大家一首诗:

山高路远坑深,
大军纵横驰奔,

谁敢横刀立马?
惟有点赞加关注大军。

  • 16
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
CheckboxGroup组件没有直接提供事件,但可以使用Checkbox组件的onChange事件来处理CheckboxGroup的事件。 要处理CheckboxGroup的事件,需要在CheckboxGroup的父组件中监听Checkbox的onChange事件。当Checkbox的选中状态改变时,会触发onChange事件,然后可以在事件处理函数中获取到选中的Checkbox的值。 以下是处理CheckboxGroup事件的一个示例代码: ```javascript import React, { useState } from 'react'; import { Checkbox } from 'antd'; const CheckboxGroup = Checkbox.Group; const options = [ { label: 'Apple', value: 'apple' }, { label: 'Banana', value: 'banana' }, { label: 'Orange', value: 'orange' }, ]; const MyComponent = () => { const [checkedValues, setCheckedValues = useState([]); const handleCheckboxChange = (checkedValues) => { setCheckedValues(checkedValues); }; return ( <CheckboxGroup options={options} value={checkedValues} onChange={handleCheckboxChange} /> ); }; ``` 在上面的示例代码中,我们使用了`useState` Hook来保存选中的Checkbox的值。当Checkbox的选中状态改变时,`handleCheckboxChange`函数会被调用,并更新`checkedValues`的值。 这样就能够处理CheckboxGroup的事件了。可以根据具体需求在`handleCheckboxChange`函数中进行处理,比如根据选中的值来更新其他状态或执行其他操作。 : 注意一定要阻止冒泡事件,我在.act-view-answer类里加了pointer-events: none;,然后又在.checkBox取消阻止冒泡 pointer-events: visible; 不然用户手误点到正方形外部也会改变checkBox的样式,导致互斥事件的样式没有发生改变。 : 文章目录 一.basic基础组件Button 按钮Link 文字链接 二.Form 表单Radio 单选框Checkbox 多选框Input 输入框InputNumber 计数器Select 选择器Cascader 级联选择器Switch 开关Slider 滑块TimePicker 时间选择器DatePicker 日期选择器DateTimePicker 日期时间选择器Upload 上传Rate 评分ColorPicker 颜色选择器Transfer 穿梭框Form 表单 三.data 数据Table 表格Tag 标签Progress 进度条Tree 树形控件Pagination 分页Badge 标记Avatar 头像 四.Notice 通知Alert 警告Loading 加载Message 消息提示MessageBox 弹框Notification 通知 五.Navigation导航NavMenu 导航菜单Tabs 标签页Breadcrumb 面包屑PageHeader 页头Dropdown 下拉菜单Steps 步骤条 六.other其他组件Dialog 对话框Tooltip 文字提示Popover 弹出框Popconfirm 气泡确认框Card 卡片Carousel 走马灯Collapse 折叠面板Timeline 时间线Divider 分割线Calendar 日历Image 图片Backtop 回到顶部InfiniteScroll 无限滚动Drawer 抽屉

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

亚丁号

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值