鸿蒙 ArkUI 入门实战:状态装饰器、弹窗、路由与组件事件
·
一、前言
在鸿蒙应用开发过程中,几乎所有业务场景都离不开四个基础能力:
- 数据变化驱动页面刷新:依靠
@State状态装饰器实现响应式 UI; - 操作反馈提示:弹窗用来做确认、警告、消息提示;
- 多页面之间跳转:路由管理实现登录、注册、详情页等页面切换;
- 用户交互监听:
onChange事件捕获开关、输入框、选择器等组件的状态变化。
本文将通过一个综合案例,串联以上知识点,带你理解每个 API 的使用场景与底层逻辑,同时规避素材、文案、代码的版权风险。
二、核心知识点详解
1. @State 状态装饰器(纠正:正确写法为@State,非@status)
@State是 ArkUI 最基础的组件内响应式状态装饰器:
- 作用:被该装饰器修饰的变量一旦发生修改,绑定该变量的 UI 组件会自动重新渲染;
- 作用域:仅当前自定义组件内有效,属于组件私有状态;
- 典型场景:控制弹窗显示隐藏、开关选中状态、文本内容动态修改。

2. 弹窗(AlertDialog 警告弹窗)
ArkUI 提供系统原生AlertDialog全局弹窗,无需自定义布局,可快速实现消息提示、确认弹窗,常用于操作结果反馈、二次确认场景。

3. 页面路由(Router)
通过@ohos.router模块实现多页面之间的跳转、返回、页面间传参,是应用多页面架构的基础,常用 API:
pushUrl():打开新页面,压入路由栈,支持返回上一页;back():关闭当前页面,返回路由栈上一级页面。

4. onChange 事件监听
属于组件交互回调事件,当组件的值、选中状态发生改变时自动触发回调函数,常见于Toggle开关、TextInput输入框、Slider滑动条等组件,用来捕获用户实时操作行为。

三、综合实战完整代码
1. 首页代码(Index.ets)
运行


2. 详情页代码(Detail.ets)
运行


3.最后跳转

4. 页面注册配置(main_pages.json)
所有页面必须在路由配置文件中注册,否则跳转失效:

四、代码运行逻辑解析
-
@State 状态驱动 UI
isSwitchOpen被@State修饰,开关切换时变量被修改,页面上的状态文本会自动同步刷新,实现数据驱动视图。 -
onChange 事件监听交互 Toggle 开关每次滑动切换都会触发
onChange回调,回调参数会带回最新的开关布尔状态,我们在这里做两件事:更新状态变量、弹出操作提示弹窗。 -
AlertDialog 系统弹窗使用 用户切换开关后,调用系统原生弹窗展示操作结果,无需自定义布局,开发高效,兼容性强。
-
Router 页面路由管理 点击首页按钮通过
pushUrl跳转到详情页;详情页调用back()回到上一级首页,完成多页面流转。
五、博客总结
@State是 ArkUI 响应式开发的核心,实现数据改变自动刷新 UI,是所有交互功能的基础;onChange是组件交互的核心回调,用来捕获用户操作行为,结合弹窗可以给用户实时操作反馈;- 路由 Router 负责多页面之间的跳转与返回,是应用架构的必备能力;
更多推荐



所有评论(0)