当前位置: 首页 > 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

相关文章:

  • 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环境下的配置
  • 外星人入侵-武装飞船
  • 承天示优网站建设项目/搜索引擎外部优化有哪些渠道
  • 如何评价一个企业的网站建设/郑州网络营销顾问
  • 峨眉住房和城乡建设委员会网站/整合营销传播策划方案
  • 网站的建设报价/百度网盘搜索引擎入口
  • 网络规划设计师大纲/关键词优化怎么操作
  • 北京建网站的公司/安卓手机优化神器