一、前言

在鸿蒙应用开发过程中,几乎所有业务场景都离不开四个基础能力:

  1. 数据变化驱动页面刷新:依靠@State状态装饰器实现响应式 UI;
  2. 操作反馈提示:弹窗用来做确认、警告、消息提示;
  3. 多页面之间跳转:路由管理实现登录、注册、详情页等页面切换;
  4. 用户交互监听: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)

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

四、代码运行逻辑解析

  1. @State 状态驱动 UI isSwitchOpen@State修饰,开关切换时变量被修改,页面上的状态文本会自动同步刷新,实现数据驱动视图。

  2. onChange 事件监听交互 Toggle 开关每次滑动切换都会触发onChange回调,回调参数会带回最新的开关布尔状态,我们在这里做两件事:更新状态变量、弹出操作提示弹窗。

  3. AlertDialog 系统弹窗使用 用户切换开关后,调用系统原生弹窗展示操作结果,无需自定义布局,开发高效,兼容性强。

  4. Router 页面路由管理 点击首页按钮通过pushUrl跳转到详情页;详情页调用back()回到上一级首页,完成多页面流转。

五、博客总结

  1. @State是 ArkUI 响应式开发的核心,实现数据改变自动刷新 UI,是所有交互功能的基础;
  2. onChange是组件交互的核心回调,用来捕获用户操作行为,结合弹窗可以给用户实时操作反馈;
  3. 路由 Router 负责多页面之间的跳转与返回,是应用架构的必备能力;
Logo

讨论HarmonyOS开发技术,专注于API与组件、DevEco Studio、测试、元服务和应用上架分发等。

更多推荐