| 组件定义 |
@Component |
声明自定义组件 |
struct结构体 |
- |
定义UI组件 |
@Component struct MyComponent {} |
|
@Entry |
标记应用入口组件 |
struct结构体 |
- |
应用主页面 |
@Entry @Component struct MainPage {} |
|
@Preview |
启用组件预览功能 |
struct结构体 |
- |
开发阶段预览 |
@Preview @Component struct PreviewComp {} |
| 状态管理 |
@State |
管理组件私有状态 |
类属性 |
组件内部 |
计数器、开关状态 |
@State count: number = 0 |
|
@Prop |
接收父组件单向数据 |
类属性 |
父→子 |
展示父组件数据 |
@Prop message: string |
|
@Link |
实现父子组件双向绑定 |
类属性 |
父↔子 |
表单控件、协同编辑 |
@Link value: boolean |
|
@Provide |
提供跨层级共享数据 |
类属性 |
祖先→后代 |
主题、用户信息共享 |
@Provide theme: string = "light" |
|
@Consume |
消费跨层级共享数据 |
类属性 |
祖先→后代 |
获取祖先组件数据 |
@Consume theme: string |
|
@Watch |
监听状态变化触发回调 |
类属性 |
- |
状态变化监听 |
@State @Watch("onChange") data: string |
|
@Observed |
标记可观察类 |
类定义 |
- |
复杂对象状态管理 |
@Observed class User {} |
|
@ObjectLink |
观察嵌套对象变化 |
类属性 |
- |
对象属性变化监听 |
@ObjectLink user: User |
|
@StorageLink |
持久化存储双向绑定 |
类属性 |
应用存储↔UI |
持久化数据同步 |
@StorageLink('key') data: string |
|
@StorageProp |
持久化存储单向同步 |
类属性 |
应用存储→UI |
只读持久化数据 |
@StorageProp('key') data: string |
| UI构建 |
@Builder |
声明可复用UI描述方法 |
类方法 |
- |
UI片段复用 |
@Builder customButton() { Button() } |
|
@BuilderParam |
接收外部UI构建函数 |
类属性 |
- |
动态UI注入 |
@BuilderParam content: () => void |
| 样式相关 |
@Styles |
定义组件内复用样式 |
类方法 |
- |
组件内样式复用 |
@Styles customStyle() { .width(100) } |
|
@Extend |
扩展内置组件样式 |
全局函数 |
- |
全局样式复用 |
@Extend(Text) function boldText() {} |
|
@AnimatableExtend |
扩展可动画属性 |
全局函数 |
- |
自定义动画属性 |
@AnimatableExtend(Text) function animWidth() {} |
| 生命周期 |
@AboutToAppear |
组件创建前回调 |
类方法 |
- |
初始化操作 |
@AboutToAppear onCreated() {} |
|
@AboutToDisappear |
组件销毁前回调 |
类方法 |
- |
资源清理 |
@AboutToDisappear onDestroy() {} |
| 其他 |
@Require |
强制必填参数 |
类属性 |
- |
参数校验 |
@Require @Prop requiredValue: string |