当前位置: 首页 > news >正文

【Harmony OS】组件自定义属性、事件和状态管理

目录

组件自定义属性

组件事件

点击事件

触摸事件

按键事件

焦点事件

状态管理

状态模型

组件状态


组件自定义属性

组件中的成员变量两种初始化方式
一种是在定义组件时直接进行本地初始化
count:number = 0 //本地初始化
另外一种方式是在实例化组件时通过传递构造参数进行初始化
MyComponen t ( { count : 值 } ) //构建组件时
无论是自定义组件还是系统内置组件,相当一部分属性都是也可以通过 构造参数 进行初始化的。
@Entry //入口组件装饰器
@Component //组件装饰器
struct Index { //定义组件
build() { //生成器函数
Column() {
MyComponent() //自定义无参数实例化
MyComponent({ count: 100 }) //自定义组件带参数实例化
}.size({ width: '100%', height: '100%' }) //系统组件带参数构建
}
}
@Component //组件装饰器
struct MyComponent { //定义组件
count: number = 0 //无装饰器的常规成员变量,初始化为0
build() { //生成器函数
if (this.count == 0) {
Text('无可显示内容').fontSize(26)
} else {
Text('当前数量为' + this.count).fontSize(26)
}
}
}

对于没有装饰器装饰的组件属性,既可以采用本地初始化也可以采用构造参数初始化。
对于由装饰器修饰的组件,在进行初始化有一定的限制,有的属性只能进行本地初始化,有的只能通过构造参数初始化。

组件事件

点击事件

触摸事件

按键事件

焦点事件

状态管理

状态模型

应用除了组件外,还可以包含应用存储(AppStorage)、能力(Ability)、持久存储(Persistent)等组件和应用存储之间可以建立双向或单向的数据更新机制

组件状态

@State

@Prop

@Link

http://www.dtcms.com/a/216831.html

相关文章:

  • 525全国护肤日 国际医学皮肤科助力银龄肌肤科学护肤
  • 用ChatGPT辅助UI设计:从需求分析到风格提案的提效秘籍
  • 16. Git从入门到实践
  • MySQL问题:什么是MySQL的中的最左匹配原则?
  • 钠离子电池循环寿命突破万次
  • ZAB 和 RAFT分别是什么?它们的区别是什么?
  • 振动分析 - 速度谱与加速度谱的转换
  • 08SpringBoot高级--自动化配置
  • 联想小新笔记本电脑静电问题导致无法开机/充电的解决方案
  • 【Vue 3 运行时 Diff 算法深度解析:五步走策略实现高效更新】
  • 3D虚拟工厂
  • DeepSeek 赋能智能安防:从算法革新到场景落地的全解析
  • 【Ubuntu】MySQL配置远程连接
  • OpenCv高阶(十八)——dlib人脸检测与识别
  • Conda:环境移植及更新1--使用conda-pack
  • WEB安全--RCE--webshell HIDS bypass4
  • 3D Tiles高级样式设置与条件渲染(3)
  • 单向循环链表与双向链表
  • c/c++编译工具在win环境下的配置
  • 外星人入侵-武装飞船
  • delphi xe 12.3下解决错误 ld.exe: unrecognized option ‘--no-rosegment‘
  • C++数据结构 : 哈希表的实现
  • 建筑兔零基础Arduino自学记录100|简易折纸机器人-17
  • Python应用嵌套猜数字小游戏
  • Oracle SHARED POOL的SUB POOL技术
  • Ubuntu 20.04 下 OpenCV 4.5.4 编译安装与系统默认 OpenCV 4.2 共存切换指南【2025最新版!!!】
  • 夏季用电高峰如何防患于未“燃”?电力测温技术守护城市生命线
  • P2014 [CTSC1997] 选课
  • 比亚迪“双剑”电池获中汽中心权威认证,堪称“移动安全堡垒”。
  • 创建vue项目