前面三篇博客我们已经学习了ArkTS五大基础布局、全套基础UI组件、核心@State响应式状态管理,我们已经可以写出有结构、有样式、可以自动刷新数据的静态页面。

但是一个完整的APP,绝对不只有静态展示页面,我们需要和手机屏幕产生交互:点击按钮实现数字加减、点击按钮跳转页面、输入框实时获取用户输入内容、切换单选框、开关联动页面变化、卡片点击反馈等等。

想要实现所有的人机交互,核心依靠ArkTS事件回调函数

本次博客结合本人课程实战代码:EnventDemo.ets、EventCard.ets(卡片综合事件案例)两份源码,全方位拆解ArkTS开发中使用率最高的两大事件:onClick点击事件、onChange内容变更事件,同时搭配之前学过的@State状态装饰器联动讲解,补齐ArkTS交互开发全部知识点,同时记录日常编码高频踩坑问题。

一、ArkTS事件系统基础认知

1. 什么是组件事件?

鸿蒙ArkTS采用声明式UI开发,和原生安卓、前端DOM操作完全不同:我们不需要手动获取DOM节点、不需要监听页面元素,只需要直接给UI组件挂载对应的事件回调,用户操作组件时,程序就会自动执行我们提前写好的回调逻辑。

简单一句话:组件负责展示,事件负责交互,状态负责更新页面UI,三者配合就是所有鸿蒙页面交互的底层逻辑。

2. 本项目涉及全部事件文件说明

3. 日常开发真实使用场景

  • EnventDemo.ets:基础事件入门案例,单独演示onClick点击事件、onChange输入框变更事件,零基础入门Demo

  • EventCard.ets:综合实战案例,在自定义卡片组件中,同时嵌套文本、输入框、按钮,同时绑定两种事件,模拟真实APP表单交互场景
     

    3. ArkTS事件通用书写格式

    组件名称() 
       .事件名(() => { 
    // 用户操作组件后,需要执行的业务逻辑 
        })所有组件事件都采用链式调用写法,直接挂载在组件后方,代码结构统一、可读性极强。

    二、onClick 点击事件(最常用交互事件)

    1. 核心作用与触发时机

    作用:监听用户手指点击、单击组件的行为

    触发时机:手指按下组件 + 手指松开组件,完整点击动作完成后触发(单纯按下不会触发,避免误触)

    2. 支持绑定onClick的全部组件

    几乎所有可见UI组件都支持点击事件,日常开发高频使用:

  • 功能类:Button按钮(最常用)

  • 展示类:Text文本、Image图片、卡片组件

  • 点击按钮实现数字累加、重置计数

  • 点击按钮实现页面路由跳转

  • 点击卡片查看详情、展开收起内容

  • 点击图片放大预览、关闭弹窗

  • 容器类:Row、Column、Stack布局容器

4. EventDemo.ets 完整可运行源码

5. 代码逻辑逐行解析

  1. 通过@State定义响应式变量count,用来记录点击次数

  2. Text文本动态绑定count变量,页面实时展示点击次数

  3. 第一个按钮绑定onClick,每次点击让数值自增

  4. 第二个按钮绑定onClick,点击直接清空数值

核心逻辑:点击事件修改状态变量 → 状态变量变化 → UI自动刷新,全程不需要手动操作页面DOM,完美契合ArkTS数据驱动视图的开发思想。

三、详解2:onChange 内容变更监听事件

1. 核心作用与触发时机

作用:监听组件内部数据、选中状态、输入内容发生变化

触发时机:用户每输入一个字符、每切换一次单选/开关、每滑动一次轮播,就会实时触发回调,做到实时监听、实时同步

2. 支持绑定onChange的全部组件(贴合我们课程案例)

2. EventCard.ets完整源

  • TextInput文本输入框:监听用户输入的账号、密码(登录页核心)

  • Radio单选框:监听选中项切换

  • Toggle开关组件:监听开关开启/关闭状态

  • Swiper轮播图:监听轮播页面滑动切换

     

    3. 日常开发真实使用场景

  • 登录页面实时获取用户输入的账号和密码

  • 判断输入框内容是否为空,实时给出表单提示

  • 切换单选选项,页面同步更新选中内容
     

  • 四、综合实战:EventCard.ets 卡片组件双事件联动案例

    前面是单独的点击事件和变更事件,而我们课堂写的EventCard.ets是真实项目级别的综合案例:自定义个人信息卡片,同时集成输入框、文本、按钮,同时使用onClick+onChange双事件,还原APP真实表单交互场景。

    1. 案例需求

  • 卡片内放置输入框,用户修改昵称实时同步展示

  • 点击确认按钮,弹窗提示修改成功

3. 综合案例逻辑梳理

确认按钮:onClick点击弹出吐司提示,反馈操作结果

这个案例完美体现:布局搭建页面结构 + 组件填充内容 + 事件完成交互 + 状态驱动UI刷新完整闭环。

外层卡片布局:onClick点击清空昵称,实现区域点击交互

Logo

作为“人工智能6S店”的官方数字引擎,为AI开发者与企业提供一个覆盖软硬件全栈、一站式门户。

更多推荐