HarmonOS 通用组件(Checkbox)

本文中 我们来说 通用组件中的 Checkbox
我们先搭起一个基本的架子组件

@Entry
@Component
struct Index {build() {Row() {Column() {Row() {}}.width('100%')}.height('100%')}
}

我们可以在Row 行组件中加入代码

Checkbox({name: "age"})
Text("年龄")

这样 就做出了一个 选择框 和一个 文本的效果
在这里插入图片描述
我们可以点击勾选 和 取消勾选
在这里插入图片描述
然后 我们可以监听它的状态改变
我们这样写

Checkbox({name: "age"}).onChange((value) => {console.log("状态value"+value);
})
Text("年龄")

此时 我们勾选/取消勾选 都会触发 onChange
这个方法接受一个参数 记录选择状态 true 选中 false 取消选中
在这里插入图片描述
在实际开发中 我们可以通过这种方式记录

@Entry
@Component
struct Index {@State Arr:Array<string> = [];build() {Row() {Column() {ForEach(this.Arr,(item)=>{Text(item)})Row() {Checkbox({name: "health"}).onChange((value) => {if(value) {this.Arr.push("健康")}else{this.Arr = this.Arr.filter(item => item !== "健康");}})Text("健康")Checkbox({name: "longevity"}).onChange((value) => {if(value) {this.Arr.push("长寿")}else{this.Arr = this.Arr.filter(item => item !== "长寿");}})Text("长寿")}}.width('100%')}.height('100%')}
}

我们设置了两个Checkbox组件 然后 监听他们的 onChange
通过value判断 是否选中 或者 取消选择
如果是选中 将 内容 push到数组中 否则 从数组中过滤出去
最上面 用 ForEach 循环渲染了数组内容

这样 我们选择 就会将内容加入数组中
在这里插入图片描述
被我们取消的内容 就会从数组中移除
在这里插入图片描述
然后 我们还可以做一个分组
我们这样写

@Entry
@Component
struct Index {build() {Row() {Column() {Row() {CheckboxGroup({ group: "hobby" })Text("全选")}Row() {Checkbox({ group: "hobby" })Text("电子游戏")}Row() {Checkbox({ group: "hobby" })Text("运动")}Row() {Checkbox({ group: "hobby" })Text("健身")}}.width('100%')}.height('100%')}
}

CheckboxGroup 会声明出一个组 且 它是作为全选按钮出现在页面上的
然后 group属性 用来声明组名
所有 组名 group属性与它相同的 Checkbox组件 都会被分组到它下面
效果就是 我们点击全选 他们就会全部选中
在这里插入图片描述
我们取消全选 他们就会全部取消
在这里插入图片描述
然后 我们全部 取消 全选 也会自动取消

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/604442.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

专为Mac用户设计的思维导图软件MindNode 2023 for Mac助您激发创意!

在现代快节奏的生活中&#xff0c;我们经常需要整理思绪、规划项目、记录灵感。而思维导图作为一种高效的思维工具&#xff0c;能够帮助我们更好地整理和展现思维。现在&#xff0c;我们介绍一款强大而直观的思维导图软件——MindNode 2023 for Mac&#xff0c;助您拓展思维边界…

计算机毕业设计 基于Javaweb的城乡居民基本医疗信息管理系统的设计与实现 Java实战项目 附源码+文档+视频讲解

博主介绍&#xff1a;✌从事软件开发10年之余&#xff0c;专注于Java技术领域、Python人工智能及数据挖掘、小程序项目开发和Android项目开发等。CSDN、掘金、华为云、InfoQ、阿里云等平台优质作者✌ &#x1f345;文末获取源码联系&#x1f345; &#x1f447;&#x1f3fb; 精…

log4cpp日志库使用

Log4cpp是一个开源的C类库&#xff0c;它提供了C程序中使用日志和跟踪调试的功能&#xff0c;它提供了应用程序运行上下文&#xff0c;方便跟踪调试&#xff1b;可扩展的、多种方式记录日志&#xff0c;包括命令行、文件、回卷文件、内存、syslog服务器、Win事件日志等&#xf…

【EAI 004】LLM+P:借助LLM和PDDL赋予机器人最优规划能力

论文标题&#xff1a;LLMP: Empowering Large Language Models with Optimal Planning Proficiency 论文作者&#xff1a;Bo Liu, Yuqian Jiang, Xiaohan Zhang, Qiang Liu, Shiqi Zhang, Joydeep Biswas, Peter Stone 作者单位&#xff1a;Department of Computer Science, Th…

Grouping Increases

您将得到一个大小为 n 的数组 a。您将执行以下过程来计算惩罚&#xff1a;将数组 a 拆分为两个子序列 s 和 t&#xff08;可能为空&#xff09;&#xff0c;使 a 的每个元素都在 s 或 t 中。 对于大小为 m 的数组 b&#xff0c;将数组 b 的惩罚 p(b) 定义为介于 1 和 m−1 之间…

安科瑞电力物联网系统在电力设备在线监测中的应用——安科瑞 顾烊宇

摘要&#xff1a;近年来&#xff0c;社会经济发展速度不断提升&#xff0c;对电力能源的需求大幅增加&#xff0c;为保障变电站等电力设备合理发挥功能&#xff0c;保障供电安全性和稳定性&#xff0c;应当加强对电力设备的监测和管理。而电力物联网技术是现代一种安全工器具的…

记一个React组件入参不当导致页面卡死的问题

一、问题描述 1.1 触发现象 点击按钮后页面卡死 1.2 最小 Demo CodeSandBox&#xff1a;https://codesandbox.io/p/sandbox/react-hook-component-stuck-755wcyinscode&#xff1a;https://inscode.csdn.net/ import ./App.css; import React, { useState, useEffect } f…

JVM中对象的创建

一.JVM运行流程 JVM向操作系统申请内存&#xff0c;初始化运行时数据区&#xff0c;接下来装载使用的类&#xff0c;执行类里面相应方法的时候为当前虚拟机栈压入一个栈帧&#xff0c;方法执行完成后栈帧出栈&#xff0c;进行垃圾回收。 二.JVM中对象的创建过程 符号引用&…

第03章_运算符与流程控制

第03章_运算符与流程控制 讲师&#xff1a;尚硅谷-宋红康&#xff08;江湖人称&#xff1a;康师傅&#xff09; 官网&#xff1a;http://www.atguigu.com 本章专题脉络 1. 运算符&#xff08;Operator&#xff09; 运算符是一种特殊的符号&#xff0c;用以表示数据的运算、赋…

CSS基础笔记-04cascade-specificity-inheritance

CSS基础笔记系列 《CSS基础笔记-01CSS概述》《CSS基础笔记-02动画》CSS基础笔记-03选择器 前言 Cascading Style Sheets&#xff0c;关键就在于这个cascading&#xff0c;对于这个术语理解&#xff0c;感觉对于我这种CSS新手有点儿不太friendly。本文记录下我对这个术语的理…

CoroutineScope Dispatchers.IO异步操作async返回函数,Kotlin

CoroutineScope Dispatchers.IO异步操作async返回函数&#xff0c;Kotlin import kotlinx.coroutines.*fun myFun(a: Int, b: Int, retFun: (sum: Int) -> Unit) {println("分支myFun开始... ${System.currentTimeMillis()}")val task CoroutineScope(Dispatcher…

互联网分布式应用之SpringCloud

SpringCloud Java 是第一大编程语言和开发平台。它有助于企业降低成本、缩短开发周期、推动创新以及改善应用服务。如今全球有数百万开发人员运行着超过 51 亿个 Java 虚拟机&#xff0c;Java 仍是企业和开发人员的首选开发平台。 课程内容的介绍 1. 微服务项目介绍 2. Eure…

修复 OpenCV 依赖错误的小工具:OpenCV Fixer

使用 Nvidia 官方 Docker 镜像折腾 Stable Video Diffusion 的时候&#xff0c;发现 OpenCV 社区有一个古怪的 issue 需要手动解决&#xff0c;所以顺手写了一个能够自动修复的小工具。 以及&#xff0c;聊聊如何快速的发布一个 Python 软件包。 写在前面 如果你在使用 Pyth…

kafka-zookeeper集群架构可视化监控,Kafka-Eagle安装部署

1、简介 在 kafka-zookeeper 集群架构下&#xff0c;zookeeper 管理 kafka 的元数据信息&#xff0c;如何监控这些信息&#xff0c;并且能够直观查看和管理 kafka 一些具体 主题、分区等参数信息&#xff0c;是非常便于开发的&#xff0c;因此 Kafka-Eagle 是一个为监控 kafka …

git 常用命令 rebase发生冲突时 ☞ 撤销rebase

场景&#xff1a;rebase发生冲突时 ☞ 撤销rebase git rebase --abort git reset --hard HEAD git reset --hard 8ec554Further Reading &#xff1a;Git常用命令汇总

智慧医院预约及支付平台—平台系统功能介绍

智慧医院APP(大众版) 系统概念 智慧医院APP(大众版)是面向居民大众,提供基于居民健康档案移动端的服务, 能够为居民提供全流程的医疗就诊服务支持,包括便捷的就医帮助,精确高效的健康管理服务,缓解居民的看病难、看病贵的问题。 功能清单 功能类别 功能模块 功能说…

一个奇怪的Oracle SQL Loader错误

今天在用Oracle SQL Loader导入文本文件时&#xff0c;发生了一个奇怪的问题&#xff0c;就是&#xff1a;我的输入文本文件dbim.dat放在oracle用户根目录&#xff08;$HOME&#xff09;下时&#xff0c;导入不成功&#xff1b;而将其放在/u01/app/oracle目录下时&#xff0c;则…

基于机器视觉的车牌检测-边缘检测因子的选择

车牌检测概述 车牌识别在检测报警、汽车出入登记、交通违法违章以及移动电子警察方面应用广泛。车牌识别过程为&#xff1a;首先通过摄像头获取包含车牌的彩色图像&#xff1b;然后进行车牌边缘检测&#xff0c;先粗略定位到车牌位置&#xff0c;再精细定位&#xff1b;最后根…

面试经典150题(67-71)

leetcode 150道题 计划花两个月时候刷完&#xff0c;今天&#xff08;第三十四天&#xff09;完成了5道(67-71)150&#xff1a; 67.&#xff08;114. 二叉树展开为链表&#xff09;题目描述&#xff1a; 给你二叉树的根结点 root &#xff0c;请你将它展开为一个单链表&#…

[AutoSar]基础部分 RTE 05 Port的实例化和初始化

目录 关键词平台说明一、端口类型二、端口的实例化2.1 创建application port2.2 实例化 三、初始化 关键词 嵌入式、C语言、autosar、Rte 平台说明 项目ValueOSautosar OSautosar厂商vector芯片厂商TI编程语言C&#xff0c;C编译器HighTec (GCC) 一、端口类型 如下图所示&am…