【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