当前位置: 首页 > news >正文

ArkTS常用组件知识点整理

一、页面基础装饰器组件(页面必备)

@Component 装饰器作用:将结构体标识为ArkUI自定义页面或组件,仅有添加该装饰器,结构体才可通过build()方法搭建UI界面。 示例:@Component struct LoginPage{}

@Entry 装饰器作用:需与@Component搭配使用,用于标识当前页面为独立访问入口,支持路由跳转、预览器直接渲染,所有可跳转页面均必须配置该装饰器。 示例:@Entry @Component struct Register{}

@State 状态装饰器作用:实现数据与UI双向绑定,被修饰的变量发生改动时,页面会同步刷新,输入框、开关等交互组件,均依靠该装饰器存储交互数据。 示例:@State username:string=""

二、基础布局容器组件(7大类)

Column 垂直布局容器:将内部所有组件自上而下垂直排列,支持设置组件间距、水平与垂直对齐方式,适用于表单、注册登录类页面布局。 示例:页面整体外层通过Column包裹用户名、密码输入框及功能按钮。

Row 水平布局容器:内部组件从左至右单行横向排列,可配置水平间距、垂直对齐方式,适合一行内文字搭配输入框的组合布局。 示例:将用户名文字与TextInput输入框放置在同一Row容器内,实现横向展示效果。

Stack 层叠容器:组件按照代码编写顺序分层叠加,后定义的组件会覆盖在前层组件之上,可实现图片浮文字、页面遮罩等效果。 示例:底层放置展示图片,上层叠加半透明说明文字。

Flex 弹性布局容器:具备自动换行特性,当容器宽度不足时,内部组件可自动换行适配,适用于数量不固定的标签、小图标等场景。

Grid 网格容器:可划分固定行列的等分宫格,子组件必须嵌套GridItem使用,多用于规整的九宫格菜单、相册展示等布局。

List 滚动列表容器:自带垂直滚动功能,子组件需嵌套ListItem,适配大量重复数据展示场景,性能优于普通Column布局。 示例:新闻列表、商品列表的渲染展示。

RelativeContainer 相对布局容器:通过组件ID绑定定位规则,组件可参照父容器或其他组件精准摆放,布局自由度最高。

三、文本与媒体展示组件

Text 文本组件:核心用于文字内容展示,支持自定义字号、字体颜色、加粗、居中、外边距等样式,绑定onClick事件可实现页面点击跳转功能。 示例:Text("已有账号,立即登录")

Image 图片组件:用于加载项目media资源文件夹下的本地图片,通过$r('app.media.图片名')方式引入,可设置宽高、圆角属性,支持制作圆形头像等样式。 示例:页面顶部圆形头像展示图片。

四、表单输入交互组件

TextInput 文本输入框:用于接收用户输入内容,通过text属性绑定@State变量实现数据双向同步;placeholder属性可设置输入提示文字;type属性可开启密码隐藏模式;onChange事件可实时监听输入内容变化。 示例:登录页用户名输入框、密码输入框。

Toggle 开关组件:提供切换按钮样式,绑定布尔类型@State变量,可实现记住密码、功能开关设置等业务场景。 示例:登录页面“记住密码”切换开关。

五、按钮与弹窗组件

Button 按钮组件:支持自定义宽高、圆角、内边距等样式,绑定onClick点击事件后,可执行表单校验、页面跳转、输入内容清空等业务逻辑。 示例:注册按钮、清空按钮、页面返回按钮。

AlertDialog 弹窗提示组件:调用静态show方法即可唤起提示弹窗,可配置标题title、提示信息message,用于反馈注册、登录操作的成功或失败结果。 示例:注册密码输入不一致时,弹出错误提示弹窗。

六、循环渲染组件

ForEach 循环组件:接收数组数据与回调函数,可批量生成重复UI元素,简化列表、网格多元素的重复代码编写。 示例:在Grid网格布局中,批量生成多个功能格子。

七、组件通用样式与交互方法

通用样式:通过width、height设置组件尺寸,padding为内边距、margin为外边距,borderRadius实现圆角效果,backgroundColor设置组件背景色;

通用交互:.onClick()方法用于监听组件点击事件,所有可交互组件均支持该方法;

路由组件:router路由模块不属于UI组件,核心负责页面跳转,可通过pushUrl传入页面路径url,搭配params参数实现跨页面传参。

整体总结

ArkTS组件主要分为页面装饰器、布局容器、展示组件、表单交互组件、弹窗组件、循环渲染组件六大类别。开发过程中,通过各类布局容器嵌套基础组件搭建页面结构,依托@State实现数据响应式更新,借助onClick完成页面交互,通过AlertDialog实现操作结果反馈,依靠router完成页面跳转,多类组件相互配合,即可完整实现注册、登录等核心业务页面。

http://www.jsqmd.com/news/1096940/

相关文章:

  • AGGrid自定义cellRenderer下tooltipShowMode不生效如何处理?
  • 3步搞定艾尔登法环存档管理:终极角色迁移方案
  • Multisim14丨界面布局异常恢复丨实战排查指南
  • 从零到一:基于STM8的125KHz RFID读卡器实现与曼彻斯特码解析实战
  • ORBSLAM3实战:手把手教你将KITTI数据集适配VIO/IMU模式,并完成精度评估
  • OpenAI API 0613更新深度解析:从GPT-3.5-turbo-16k到函数调用的实战指南
  • 红帽 Linux 零基础完整学习笔记 5
  • 从跑分到洞察:CPU性能评估工具全解析与实战指南
  • Yahoo Finance API:.NET开发者的金融数据革命性解决方案
  • 从编译产物到智能索引:详解gen_compile_commands.py生成compile_commands.json的实战路径
  • 从理论到实践:积极心理学与情绪智慧如何赋能研究生科研与生活
  • 深度解析Untrunc:开源视频修复工具的技术实现与实战应用
  • Python量化交易数据获取的终极解决方案:efinance免费金融数据库完全指南
  • AI智能审核技术架构解析:规则引擎与大模型协同的双重拦截
  • MCP 会取代 API 吗?普通开发者应该怎么理解它?
  • 20美元革命性突破:打造你的专属超声波定向音响系统
  • 深圳亚马逊卖家做GEO,哪家能提升站外AI流量?
  • STM32F407硬件SPI驱动GD25Q32闪存,从接线到读写数据的保姆级教程
  • 通用大模型 vs 行业垂类 vs 自建小模型:差 3 个点,和差23 个点
  • 深度学习图模型的优势、学习与深度学习方法(九十二)
  • 从Latte到StreamingT2V:一文看懂开源视频生成模型的“时空注意力”到底怎么玩的
  • 前端实现打包后自动上传代码到服务器
  • 开源AIOps革命:Keep平台如何重塑企业级智能运维架构
  • Typora 1.8.2 保姆级配置指南:从图片管理到自动保存,一次搞定所有隐藏设置
  • 专业网盘直链下载工具LinkSwift深度解析与实战配置指南
  • Zotero插件生态与高效文献管理实战:从基础配置到进阶工作流
  • 从MicroLogix升级到Micro800?手把手教你用CCW 22.0搞定PCCC通信迁移
  • 3步搞定!在Windows上轻松安装Android应用的终极方案
  • 从理论到实践:基于切比雪夫原型的宽带低通匹配网络设计全解析
  • 电价上涨、芯片交期30周:AI算力狂欢下,制造业的“成本焦虑”何解?