华为HarmonyOS系统怎么创建自定义组件并复用

大明姑娘_2377

大明姑娘_2377

2026-08-07

356人浏览

原创

在harmonyos中创建可复用自定义组件需用@component装饰器封装ui与逻辑,通过相对路径导入调用;须新建components目录及大驼峰命名的arkts文件,build()内仅允许一个根容器,支持@prop传参、@state管理状态及回调函数实现父子通信。

华为harmonyos系统怎么创建自定义组件并复用 - php中文网

华为HarmonyOS系统中创建可复用的自定义组件,核心是用@Component装饰器封装UI结构与逻辑,再通过相对路径导入到其他页面调用——不写重复代码,改一处就全更新。

创建自定义组件文件

在项目src/main/ets目录下,右键→New → Directory,新建名为components的文件夹;接着在该文件夹上右键→New → ArkTS File,文件名填WelcomeComponent.ets(必须大驼峰,且与后续struct名一致)。

打开WelcomeComponent.ets,先写import语句,再用@Component + export struct声明组件结构体。注意:build()方法必须存在,且内部只能有一个根容器(如Column/Row/Stack),否则编译报错。

这一步操作起来很简单,直接把文件拖进去就行。

编写无参数自定义组件

在WelcomeComponent.ets中粘贴以下代码:

// 导入系统基础组件
import { Column, Text, FontWeight, HorizontalAlign } from '@kit.ArkUI';

@Component
export struct WelcomeComponent {
  build() {
    Column() {
      Text('我的第一个鸿蒙自定义组件')
        .fontSize(20)
        .fontWeight(FontWeight.Bold)
        .fontColor('#1890FF')
      Text('零基础入门 · 无参数组件')
        .fontSize(14)
        .fontColor('#666666')
        .margin({ top: 10 })
    }
    .width('100%')
    .padding(20)
    .backgroundColor('#F5F7FA')
    .borderRadius(12)
    .alignItems(HorizontalAlign.Center)
  }
}

【build()内必须有且仅有一个根容器】,多写一个Column或漏掉外层容器括号都会导致编译失败。

在页面中导入并使用组件

打开pages目录下的Index.ets(或其他页面文件),在顶部import区域添加导入语句:

import { WelcomeComponent } from '../components/WelcomeComponent';

然后在@Entry装饰的Index组件build()方法里,像调用Button一样直接写WelcomeComponent()即可。

注意路径写法:../表示从pages目录向上退一级到src/main/ets,再进入components文件夹。路径写错会导致“找不到模块”编译错误。

MacsMind
MacsMind

一款AI工具,主要用于电商AI超级智能客服,适合需要提升相关任务效率的用户。

下载

封装带参数的可复用组件

方法一:用@Prop接收父组件传入的字符串或数字

修改WelcomeComponent.ets,在@Component下方、build()上方添加一行:
@Prop title: string = '默认标题';

再把build()里第一个Text('我的第一个鸿蒙自定义组件')替换成Text(this.title)。

方法二:用@State管理内部状态,配合事件函数实现交互

在struct内新增@State count: number = 0;,并在Column内加一个Button,onClick里写this.count++,再加个Text显示this.count。

方法三:组合使用@Prop和回调函数,实现父子通信

添加@Prop onConfirm: () => void;,在确认按钮的onClick里调用this.onConfirm()。这样父页面传进来的函数就能被触发执行。

复用组件时传递参数

第一步:在Index.ets的build()中,把WelcomeComponent()改成:
WelcomeComponent({
  title: '欢迎来到首页',
  onConfirm: () => {
    console.log('用户点了确认');
  }
});

第二步:确保WelcomeComponent.ets中已声明对应@Prop字段,且类型匹配(string对应string,() => void对应() => void)。

第三步:保存后重新运行,页面会显示新标题,并在点击确认按钮时输出日志。

如果参数名拼写错误(比如写成tilte)、类型不匹配(传string却声明为number),IDE会实时标红提示,编译阶段直接拦截。

相关文章

数码产品性能查询
数码产品性能查询

该软件包括了市面上所有手机CPU,手机跑分情况,电脑CPU,电脑产品信息等等,方便需要大家查阅数码产品最新情况,了解产品特性,能够进行对比选择最具性价比的商品。

下载

本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

相关专题

更多
harmonyos是什么意思
harmonyos是什么意思

harmonyos是一个多设备、可扩展的全场景操作系统,它的设计目标是实现智能终端之间的无缝连接,提供统一的操作体验。本专题提供harmonyos相关的文章,大家可以免费体验。

2023.06.28

3965

5

Vibeknow在线使用入口合集
Vibeknow在线使用入口合集

本专题汇总了Vibeknow在线创作视频的官方入口及网页版使用教程,涵盖PPT、PDF、Word等文档一键转讲解视频的核心操作,并整理了免费版水印规则与手机端浏览器访问指南,助你快速将知识内容视频化。

2026.09.21

0

20

NumPy随机数文件读写与dtype数据类型
NumPy随机数文件读写与dtype数据类型

本专题整理 NumPy 随机数、文件读写与 dtype 数据类型相关教程,覆盖 Generator/random、随机数种子、正态分布采样、npy/npz/CSV/TXT 保存读取、loadtxt/savetxt、memmap、大文件处理、astype 类型转换、结构化 dtype、整数溢出和精度丢失等场景。

2026.09.21

0

24

NumPy矩阵运算与线性代数计算
NumPy矩阵运算与线性代数计算

本专题整理 NumPy 矩阵运算与线性代数计算相关教程,覆盖矩阵乘法、dot 与 @ 运算符、逆矩阵、行列式、特征值与特征向量、SVD、线性方程组、欧氏距离、矩阵分解和大规模矩阵性能优化等内容,帮助读者掌握 np.linalg 与矩阵计算实战。

2026.09.21

0

20

NumPy广播机制数学运算与统计分析
NumPy广播机制数学运算与统计分析

本专题整理 NumPy 广播机制、数组数学运算与统计分析相关教程,覆盖广播规则、维度对齐、矩阵与数组加减除法、向量化计算、均值方差、分位数、中位数、直方图和 unique 频次统计等场景,帮助读者掌握 ndarray 高效计算与统计处理方法。

2026.09.21

0

17

NumPy数组创建索引切片与数据选择
NumPy数组创建索引切片与数据选择

本专题整理 NumPy 数组创建、索引、切片与数据选择相关教程,覆盖 np.array、zeros/ones、多维数组形状、基础切片、花式索引、布尔索引、条件筛选、视图与副本等常用场景,帮助读者系统掌握 ndarray 数据构造与高效提取方法。

2026.09.21

0

12

Aionclaw智能助手介绍
Aionclaw智能助手介绍

本专题汇总了AionClaw(AI龙虾助手)的功能介绍与在线使用入口。AionClaw是杭州趣猿人工智能有限公司推出的桌面级AI智能体,能直接在电脑上读写文件、运行脚本、操作浏览器,自动交付Word、PPT、Excel等成品。

2026.09.20

20

13

AionClaw AI智能体与电脑自动化任务执行功能使用教程
AionClaw AI智能体与电脑自动化任务执行功能使用教程

AionClaw专题整理AI智能体与电脑自动化相关功能使用教程,涵盖安装部署、AI任务执行、Skills技能、文件处理、浏览器控制、电脑操作、持久记忆、聊天工具连接以及办公、编程和内容创作等功能,帮助用户快速掌握AionClaw的实际使用方法。

2026.09.20

0

15

AI视频生成软件推荐
AI视频生成软件推荐

本专题汇总了当前主流的AI视频生成软件推荐与排行榜单,涵盖seko、AniShort、剧云、Lovart、LiblibAI及立刻mv等热门工具。同时整理了各软件在文生视频、图生视频、时长限制、画质表现及免费额度等方面的差异对比,助您快速选对适合创作需求的AI视频生成工具。

2026.09.16

200

9

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程