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。

相关新闻

【AI环境监测预警系统实战指南】:20年专家亲授3大落地陷阱与5步部署黄金法则

【AI环境监测预警系统实战指南】:20年专家亲授3大落地陷阱与5步部署黄金法则

更多请点击: https://intelliparadigm.com 第一章:AI环境监测预警系统的核心价值与演进脉络 AI环境监测预警系统已从传统单点传感器数据采集,跃迁为融合多源异构感知、边缘智能推理与云端协同决策的闭环生态。其核心价值不仅在于提升污染事件…

2026/8/1 2:07:35 阅读更多 →
NitroGen开源游戏AI框架:通用智能体开发实践

NitroGen开源游戏AI框架:通用智能体开发实践

1. NitroGen项目概述NitroGen是一个面向通用游戏智能体的开源基础模型项目,旨在为游戏AI开发提供统一的技术框架。这个项目最吸引我的地方在于它尝试解决游戏AI开发中的核心痛点——不同游戏类型需要重复开发底层智能体架构的问题。在实际游戏开发中,我们…

2026/8/1 2:07:35 阅读更多 →
Python数值类型详解:int、float、complex与bool

Python数值类型详解:int、float、complex与bool

1. Python基础数据类型概述刚接触Python时,最让我困惑的就是各种数据类型的区别和用法。记得第一次写计算器程序,明明11应该等于2,结果却得到了11,这才意识到数据类型的重要性。Python作为动态类型语言,虽然不需要显式…

2026/8/1 2:07:35 阅读更多 →

最新新闻

钩针心形花样围巾全攻略:从图解解读到完美定型

钩针心形花样围巾全攻略:从图解解读到完美定型

这类手工编织项目,最值得先看的不是成品图有多漂亮,而是它到底适不适合你手上的线材、你的编织熟练度,以及你能不能跟着说明把关键的花样重复做对。标题里的“Hearts A Flutter”指的是一种特定的、带有心形镂空或起伏图案的钩针围巾花样。它…

2026/8/1 2:42:47 阅读更多 →
Source Sans 3字体:免费开源UI字体完整使用指南

Source Sans 3字体:免费开源UI字体完整使用指南

Source Sans 3字体:免费开源UI字体完整使用指南 【免费下载链接】source-sans Sans serif font family for user interface environments 项目地址: https://gitcode.com/gh_mirrors/so/source-sans Source Sans 3是一款由Adobe开发的专为用户界面设计的开源…

2026/8/1 2:42:47 阅读更多 →
KISS OF LIFE成都路演《Midas Touch》舞台分析与活动策划指南

KISS OF LIFE成都路演《Midas Touch》舞台分析与活动策划指南

这次我们来聊聊一个特别的 K-pop 现场——KISS OF LIFE 在成都凯德新南和成都 BZ 路演的限定表演《Midas Touch》。如果你关注韩流现场、城市路演活动或偶像团体线下演出,这篇文章会带你快速了解这场演出的亮点、现场效果以及适合的观众群体。KISS OF LIFE 是近期备…

2026/8/1 2:42:47 阅读更多 →
终极Office激活解决方案:如何免费解锁Microsoft 365完整功能

终极Office激活解决方案:如何免费解锁Microsoft 365完整功能

终极Office激活解决方案:如何免费解锁Microsoft 365完整功能 【免费下载链接】ohook An universal Office "activation" hook with main focus of enabling full functionality of subscription editions 项目地址: https://gitcode.com/gh_mirrors/oh/…

2026/8/1 2:42:47 阅读更多 →
通义千问 Markdown 回答转 Word:标题、加粗与代码块的整理方法

通义千问 Markdown 回答转 Word:标题、加粗与代码块的整理方法

通义千问 Markdown 回答转 Word:标题、加粗与代码块的整理方法 一句话答案通义千问回答复制后出现 #、**、反引号和表格竖线,通常不是字符编码错误,而是 Markdown 源文本没有被目标编辑器渲染。少量内容可在 Word/WPS 中分类型处理&#xff1…

2026/8/1 2:42:47 阅读更多 →
Kindle Comic Converter:终极漫画转换工具,3步让电子阅读器变身专业漫画阅读器

Kindle Comic Converter:终极漫画转换工具,3步让电子阅读器变身专业漫画阅读器

Kindle Comic Converter:终极漫画转换工具,3步让电子阅读器变身专业漫画阅读器 【免费下载链接】kcc KCC (a.k.a. Kindle Comic Converter) is a comic and manga converter for ebook readers. 项目地址: https://gitcode.com/gh_mirrors/kc/kcc …

2026/8/1 2:41:46 阅读更多 →

日新闻

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南 【免费下载链接】BaiduNetdiskPlugin-macOS For macOS.百度网盘 破解SVIP、下载速度限制~ 项目地址: https://gitcode.com/gh_mirrors/ba/BaiduNetdiskPlugin-macOS 还在为百度网盘macOS版的龟速下…

2026/8/1 0:00:48 阅读更多 →
终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换

终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换

终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换 【免费下载链接】ncmdump 项目地址: https://gitcode.com/gh_mirrors/ncmd/ncmdump 还在为网易云音乐下载的NCM格式文件无法在其他播放器播放而烦恼吗?ncmdump解密工具帮你轻松解决这个困…

2026/8/1 0:00:48 阅读更多 →
HarmonyOS 应用开发《掌上英语》第81篇: 智能体卡片:为英语学习 App 打造桌面级学习助手

HarmonyOS 应用开发《掌上英语》第81篇: 智能体卡片:为英语学习 App 打造桌面级学习助手

AgentCard 智能体卡片:为英语学习 App 打造桌面级学习助手适用平台:HarmonyOS 7.0 (API 26 Beta)一、引言 HarmonyOS 7.0(API 26 Beta)新增了 AgentCard 智能体卡片能力,这是继 HMAF(鸿蒙智能体框架&#x…

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

周新闻

深度学习道路桥梁裂缝检测系统 道路桥梁裂缝检测数据集 道路桥梁病害识别检测数据集

深度学习道路桥梁裂缝检测系统 道路桥梁裂缝检测数据集 道路桥梁病害识别检测数据集

深度学习道路桥梁裂缝检测系统 数据集6000张 完整源码已标注数据集训练好的模型环境配置教程程序运行说明文档,可以直接使用!系统支持图片、视频、摄像头等多种方式检测裂缝,功能强大实用。 1数据集6000张 8各类别

2026/7/31 1:03:03 阅读更多 →
深度学习YOLO模型如何训练 PUBG 绝地求生目标检测数据集

深度学习YOLO模型如何训练 PUBG 绝地求生目标检测数据集

pubg数据集 精选原图1.42万数据 1.49万标签 无任何重复、算法增强或冗余图像! pubg绝地求生目标检测数据集 1分类:e_body,14905个标签,txt格式 共计14244张图,99%为640*640尺寸图像 适合yolo目标检测、AI训练关键词&am…

2026/7/29 14:34:28 阅读更多 →
Apex英雄目标检测数据集 深度学习框架YOLO如何训练APEX数据集

Apex英雄目标检测数据集 深度学习框架YOLO如何训练APEX数据集

Apex检测数据集数据集详情检测类别: allies enemy tag图片总量:7247张训练集:5139张验证集:1425张测试集:683张标注状态:全部已标注,即拿即用数据格式:支持YOLO格式及其他格式&#…

2026/7/31 4:19:39 阅读更多 →

月新闻

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南 【免费下载链接】BaiduNetdiskPlugin-macOS For macOS.百度网盘 破解SVIP、下载速度限制~ 项目地址: https://gitcode.com/gh_mirrors/ba/BaiduNetdiskPlugin-macOS 还在为百度网盘macOS版的龟速下…

2026/8/1 0:00:48 阅读更多 →
终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换

终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换

终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换 【免费下载链接】ncmdump 项目地址: https://gitcode.com/gh_mirrors/ncmd/ncmdump 还在为网易云音乐下载的NCM格式文件无法在其他播放器播放而烦恼吗?ncmdump解密工具帮你轻松解决这个困…

2026/8/1 0:00:48 阅读更多 →
HarmonyOS 应用开发《掌上英语》第81篇: 智能体卡片:为英语学习 App 打造桌面级学习助手

HarmonyOS 应用开发《掌上英语》第81篇: 智能体卡片:为英语学习 App 打造桌面级学习助手

AgentCard 智能体卡片:为英语学习 App 打造桌面级学习助手适用平台:HarmonyOS 7.0 (API 26 Beta)一、引言 HarmonyOS 7.0(API 26 Beta)新增了 AgentCard 智能体卡片能力,这是继 HMAF(鸿蒙智能体框架&#x…

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