HarmonyOS ArkTS 的新手练手样例:TextArea 多行意见反馈表单
开头这一篇只讲一个主角TextArea。输入多行文本实时统计字数并模拟提交反馈。 对新手来说学习控件最有效的方法不是把官方属性一次背完而是先把一个完整页面跑起来然后围绕这个页面改尺寸、改状态、改事件。下面的代码就是配套截图 App 中已经编译通过的完整页面。本篇目标看懂 TextArea 的基础用法。能复制完整页面到 ArkTS 工程中运行。知道关键属性和事件分别控制什么。能基于同一个组件改出几个小样例。对应 App 页面配套 App 中本篇对应页面文件是entry/src/main/ets/pages/TextAreaFeedbackPage.ets运行 App 后从首页点击 TextArea 入口即可进入本页截图。完整页面代码import{router}fromkit.ArkUI;EntryComponentstruct TextAreaFeedbackPage{Statefeedback:string这个页面适合展示多行输入。;Statesaved:string尚未提交;build(){Column({space:18}){Row(){Button().width(44).height(36).onClick((){router.back();})Text(TextArea).fontSize(22).fontWeight(FontWeight.Bold).layoutWeight(1).textAlign(TextAlign.Center)Blank().width(44)}.width(100%)Column({space:16}){Text(意见反馈).fontSize(30).fontWeight(FontWeight.Bold).fontColor(#126A5E).width(100%)TextArea({placeholder:写下你的建议,text:this.feedback}).height(150).onChange((value:string){this.feedbackvalue;})Text(已输入${this.feedback.length}个字符).fontSize(14).fontColor(#667085).width(100%)Button(提交反馈).height(48).width(100%).onClick((){this.saved反馈已提交;})Text(this.saved).fontSize(15).fontColor(#126A5E).width(100%)}.width(100%).padding(24).borderRadius(8).backgroundColor(#FFFFFF)}.width(100%).height(100%).padding(20).backgroundColor(#F7F2E8)}}核心属性和事件讲解属性/事件作用本篇用法placeholder输入为空时的提示引导用户写建议text当前文本内容绑定this.feedback.height(150)多行输入区域高度保证截图中能看到大输入框.onChange()文本变化事件更新反馈内容和字数this.feedback.length字符统计显示已输入字符数代码结构拆开看1. 顶部返回栏每个截图页都保留一个简单顶部栏左边是返回按钮中间是当前组件名称右边用 Blank() 占位。这样做的好处是所有截图页面结构一致后期整理文章配图时不会乱。Row(){Button()Text(TextArea)Blank()}2. 主体卡片主体区域才是本篇组件的练习区。截图 Demo 里统一使用浅色背景和白色卡片是为了让控件更清楚地被看到。真实项目里你可以把这些颜色替换成自己的设计规范。3. 状态和事件如果页面里有 State它就是驱动界面变化的数据。事件里修改状态界面就会跟着刷新。这个规则在 Search、TextArea、Progress、Rating、Radio、Select、LoadingProgress 这些页面里都能看到。再做几个小样例样例 1限制最少字数if(this.feedback.trim().length10){this.saved至少输入 10 个字;return;}样例 2显示剩余字数Text(还可以输入${200-this.feedback.length}个字符)样例 3提交后清空Button(提交).onClick((){this.saved反馈已提交;this.feedback;})新手常见问题只复制了组件没有复制 State。如果组件依赖状态页面会报错或无法交互。只改了显示文本没有改事件里的状态变量导致看起来“点了没反应”。截图页没有固定宽高或留白模拟器尺寸一变画面就挤在一起。本篇小结TextArea 的学习重点是先把“能运行的完整页面”看懂再去拆属性和事件。你可以直接使用本篇完整代码截图也可以从“再做几个小样例”里挑一个继续改。附录项目设置与构建问题记录一、项目设置本篇配套一个独立 ArkTS 示例 App用于运行页面和截图建议用 DevEco Studio 打开项目后运行entry模块。项目定位是截图练习 Demo不依赖后端服务也不需要额外权限。建议新建或检查工程时保持以下设置Project typeApplication。TemplateEmpty Ability。LanguageArkTS。ModelStage。DevicePhone可按需要兼容 Tablet、2in1。Runtime OSHarmonyOS。二、SDK 版本本文主题面向 HarmonyOS ArkTS API 24。本次示例工程根目录build-profile.json5使用如下配置{ compatibleSdkVersion: 6.1.1(24), targetSdkVersion: 6.1.1(24), runtimeOS: HarmonyOS }如果本机 DevEco Studio SDK Manager 中安装的版本不同请按本机实际 API 24 SDK 调整compatibleSdkVersion和targetSdkVersion。三、项目目录说明核心目录如下HarmonyOS_ArkTS_API24_ControlsScreenshotApp/ ├── AppScope/ │ ├── app.json5 │ └── resources/ ├── entry/ │ ├── src/main/ets/entryability/EntryAbility.ets │ ├── src/main/ets/pages/ │ ├── src/main/resources/base/profile/main_pages.json │ ├── build-profile.json5 │ └── oh-package.json5 ├── build-profile.json5 ├── hvigorfile.ts └── oh-package.json5页面文件都在entry/src/main/ets/pages/路由注册文件在entry/src/main/resources/base/profile/main_pages.json五、创建项目过程打开 DevEco Studio。点击 Create Project。选择 Application。模板选择 Empty Ability。开发语言选择 ArkTS。模型选择 Stage。设置项目名称例如ArkTSControlsDemo。选择保存路径建议路径只包含英文、数字、下划线或连字符。选择 API 24 对应 SDK。点击 Finish等待工程创建完成。打开entry/src/main/ets/pages/Index.ets。运行默认工程确认模拟器或真机能打开。再逐个添加本文中的页面代码并截图。六、本次编译安装遇到的问题与解决办法1. 中文路径导致 Hvigor 拒绝构建问题现象Invalid project path. Current path does not match: D:\私人资料\CSDN\HarmonyOS_ArkTS_API24_ControlsScreenshotApp原因Hvigor 对工程路径有限制路径只能包含英文字母、数字、连字符、下划线、英文句点、英文括号、空格或。处理办法把项目复制到 ASCII 路径后构建D:\\HarmonyOS_ArkTS_API24_ControlsScreenshotApp2.DEVECO_SDK_HOME环境变量无效问题现象Invalid value of DEVECO_SDK_HOME in the system environment path.处理办法在当前命令会话中临时指定 DevEco SDK 根目录$env:DEVECO_SDK_HOMED:\Program Files\Huawei\DevEco Studio Beta\sdk3.hvigor-config.json5缺少dependencies问题现象Schema validate failed ... missingProperty: dependencies处理办法补齐hvigor/hvigor-config.json5{ modelVersion: 5.0.0, dependencies: { } }4. 打包阶段找不到 Java问题现象spawn java ENOENT处理办法使用 DevEco Studio 自带 JBR并停止旧的 Hvigor daemon 后重新构建$env:JAVA_HOMED:\Program Files\Huawei\DevEco Studio Beta\jbr$env:PathD:\Program Files\Huawei\DevEco Studio Beta\jbr\bin;$env:Pathhvigorw--stop-daemon5. 构建成功但有弃用警告构建时出现过router.pushUrl、router.back、AlertDialog.show的弃用警告但不影响本次截图 Demo 编译和安装。正式项目建议后续按当前 API 推荐方式替换。七、本次安装启动记录构建命令hvigorw--mode module-p moduleentrydefault-p productdefault assembleHap安装命令hdc install entry-default-unsigned.hap启动命令hdc shell aastart-a EntryAbility-b com.csdn.arkts.controls.screenshot验证结果HAP 构建成功。模拟器目标127.0.0.1:5555。安装结果install bundle successfully。启动结果start ability successfully。

相关新闻

终极智能图片去重工具:AntiDupl.NET 完整使用指南

终极智能图片去重工具:AntiDupl.NET 完整使用指南

终极智能图片去重工具:AntiDupl.NET 完整使用指南 【免费下载链接】AntiDupl A program to search similar and defect pictures on the disk 项目地址: https://gitcode.com/gh_mirrors/an/AntiDupl 你是否曾为电脑中堆积如山的重复图片而烦恼?手…

2026/8/1 2:08:49阅读更多 →
C++数组逆序互换算法详解:从双指针原理到实战应用

C++数组逆序互换算法详解:从双指针原理到实战应用

1. 项目概述:从“互换”入手理解数组逆序刚接触C数组操作的朋友,常常会遇到“将数组元素逆序存放”这类题目。乍一看,这题好像挺简单,不就是把第一个和最后一个换一下,第二个和倒数第二个换一下吗?没错&…

2026/8/1 2:08:49阅读更多 →
SolidWorks_动画模拟与仿真19_动画性能优化

SolidWorks_动画模拟与仿真19_动画性能优化

动画性能优化:减少关键帧、简化模型与调整显示精度的实战指南摘要:在数字内容创作与前端开发领域,动画卡顿是影响用户体验的顽疾。本文从动画渲染的底层原理出发,系统性地剖析了动画掉帧的三大核心原因——关键帧冗余、模型面数过…

2026/8/1 2:08:49阅读更多 →
腾讯云COS前端直传图片实践:从本地存储到云原生架构优化

腾讯云COS前端直传图片实践:从本地存储到云原生架构优化

1. 项目缘起:为什么是腾讯云COS?最近在做一个社区类的小项目,后台管理需要处理用户上传的头像和内容图片。一开始图省事,直接把图片存到了服务器本地磁盘,结果没几天就遇到了几个头疼的问题:首先是服务器磁…

2026/8/1 4:47:46阅读更多 →
关键拍卖反转(KAR)策略:基于订单流分析的市场转折点捕捉技术

关键拍卖反转(KAR)策略:基于订单流分析的市场转折点捕捉技术

在金融市场交易策略中,关键拍卖反转(Key Auction Reversal,简称 KAR)是一种基于市场微观结构和拍卖理论的高阶交易技术。它不依赖于传统技术指标,而是通过识别特定价格水平上的订单流失衡和流动性变化,来捕…

2026/8/1 4:47:46阅读更多 →
JasperReports报表引擎实战:从模板设计到Spring Boot集成与性能优化

JasperReports报表引擎实战:从模板设计到Spring Boot集成与性能优化

1. 项目缘起:为什么选择JasperReport?在任何一个涉及数据展示和分发的业务系统中,报表功能几乎都是刚需。无论是财务部门的月度收支汇总、销售团队的业绩看板,还是运营部门的数据分析简报,最终都需要一份格式规范、数据…

2026/8/1 4:47:46阅读更多 →
游戏坐标获取技术:内存读取、图像识别与API钩子实战指南

游戏坐标获取技术:内存读取、图像识别与API钩子实战指南

这次我们来看一个游戏开发中非常实际的问题:不同游戏如何获取坐标。无论是做自动化脚本、辅助工具,还是游戏数据分析,坐标获取都是基础中的基础。这个问题的核心不是理论多复杂,而是能不能在不同类型的游戏中稳定、准确地拿到坐标…

2026/8/1 4:47:46阅读更多 →
软件到硬件的“虚拟映射”(Software-to-Hardware Virtual Mapping)是上位机系统中的核心技术,也是数字孪生(Digital Twin)在工业现场落地的具体实现方式

软件到硬件的“虚拟映射”(Software-to-Hardware Virtual Mapping)是上位机系统中的核心技术,也是数字孪生(Digital Twin)在工业现场落地的具体实现方式

软件到硬件的“虚拟映射”(Software-to-Hardware Virtual Mapping)是上位机系统中的核心技术,也是数字孪生(Digital Twin)在工业现场落地的具体实现方式。它通过软件中的虚拟模型实时、双向映射真实硬件状态与行为,实现“虚实同步、预测优化、闭环控制”。 1. 核心概念 …

2026/8/1 4:47:46阅读更多 →
数字孪生与边缘计算的结合是当前工业智能化(尤其是上位机、智慧工厂、具身智能)落地的关键技术路径

数字孪生与边缘计算的结合是当前工业智能化(尤其是上位机、智慧工厂、具身智能)落地的关键技术路径

数字孪生与边缘计算的结合是当前工业智能化(尤其是上位机、智慧工厂、具身智能)落地的关键技术路径。它通过边缘侧实时计算 + 云端全局优化,解决传统数字孪生“延时高、带宽占用大、实时性不足”的问题,实现真正意义上的低延时、高可靠、闭环可控的虚实映射。 1. 为什么需…

2026/8/1 4:45:46阅读更多 →
覆盖国产 + 海外 + 开源模型,OpenClaw 2.7.9 Windows/Mac 双端部署详解

覆盖国产 + 海外 + 开源模型,OpenClaw 2.7.9 Windows/Mac 双端部署详解

🔹 工具基础介绍 OpenClaw 是开源生态中一款实用性较强的本地智能工具,凭借本地离线运行、可视化图形操作和任务自动化三大核心特性,赢得了众多用户的青睐。与普通在线对话AI工具不同,它属于能够直接操控本机软硬件的智能数字员工…

2026/7/31 20:44:05阅读更多 →
伺服阀焊完微漏毁整机?精密激光焊接三关锁住高压

伺服阀焊完微漏毁整机?精密激光焊接三关锁住高压

所谓液压伺服阀体的精密激光焊接,是用激光束对阀座壳体(通常为不锈钢或铝合金)进行密封焊接,使阀体在21-35MPa的高压液压油或压缩气体中长期运行而不发生介质泄漏。液压伺服阀是高端液压系统的"大脑"。从航空航天飞行控…

2026/7/31 17:41:43阅读更多 →
D2DX:三步实现《暗黑破坏神2》高清宽屏体验的终极指南

D2DX:三步实现《暗黑破坏神2》高清宽屏体验的终极指南

D2DX:三步实现《暗黑破坏神2》高清宽屏体验的终极指南 【免费下载链接】d2dx D2DX is a complete solution to make Diablo II run well on modern PCs, with high fps and better resolutions. 项目地址: https://gitcode.com/gh_mirrors/d2/d2dx 你是否还在…

2026/7/31 20:44:05阅读更多 →
无损视频剪辑终极指南:如何实现快速高效的多媒体处理

无损视频剪辑终极指南:如何实现快速高效的多媒体处理

无损视频剪辑终极指南:如何实现快速高效的多媒体处理 【免费下载链接】lossless-cut The swiss army knife of lossless video/audio editing 项目地址: https://gitcode.com/gh_mirrors/lo/lossless-cut 在数字媒体创作领域,视频编辑处理的质量损…

2026/8/1 0:00:10阅读更多 →
AI辅助本科论文写作:8大工具评测与高效使用指南

AI辅助本科论文写作:8大工具评测与高效使用指南

1. 本科生论文写作的AI辅助现状本科毕业论文是每个大学生必须跨越的一道坎。记得我当年写论文时,光是文献检索就花了整整两周时间,打印的参考文献堆满了半个书桌。如今AI技术的发展为学术写作带来了革命性变化,合理使用这些工具可以节省80%以…

2026/8/1 0:00:10阅读更多 →
如何快速配置大麦自动抢票系统:从零开始搭建Python抢票助手

如何快速配置大麦自动抢票系统:从零开始搭建Python抢票助手

如何快速配置大麦自动抢票系统:从零开始搭建Python抢票助手 【免费下载链接】ticket-purchase 大麦自动抢票,支持人员、城市、日期场次、价格选择 项目地址: https://gitcode.com/GitHub_Trending/ti/ticket-purchase 还在为抢不到热门演唱会门票…

2026/8/1 0:00:10阅读更多 →
无损视频剪辑终极指南:如何实现快速高效的多媒体处理

无损视频剪辑终极指南:如何实现快速高效的多媒体处理

无损视频剪辑终极指南:如何实现快速高效的多媒体处理 【免费下载链接】lossless-cut The swiss army knife of lossless video/audio editing 项目地址: https://gitcode.com/gh_mirrors/lo/lossless-cut 在数字媒体创作领域,视频编辑处理的质量损…

2026/8/1 0:00:10阅读更多 →
AI辅助本科论文写作:8大工具评测与高效使用指南

AI辅助本科论文写作:8大工具评测与高效使用指南

1. 本科生论文写作的AI辅助现状本科毕业论文是每个大学生必须跨越的一道坎。记得我当年写论文时,光是文献检索就花了整整两周时间,打印的参考文献堆满了半个书桌。如今AI技术的发展为学术写作带来了革命性变化,合理使用这些工具可以节省80%以…

2026/8/1 0:00:10阅读更多 →
如何快速配置大麦自动抢票系统:从零开始搭建Python抢票助手

如何快速配置大麦自动抢票系统:从零开始搭建Python抢票助手

如何快速配置大麦自动抢票系统:从零开始搭建Python抢票助手 【免费下载链接】ticket-purchase 大麦自动抢票,支持人员、城市、日期场次、价格选择 项目地址: https://gitcode.com/GitHub_Trending/ti/ticket-purchase 还在为抢不到热门演唱会门票…

2026/8/1 0:00:10阅读更多 →