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

山东天成水利建设 网站网站开发专业考啥证书

山东天成水利建设 网站,网站开发专业考啥证书,文章导入wordpress,现在做网站公司自定义组件可以帮助开发者实现复用性强、逻辑清晰的界面模块。通过自定义组件#xff0c;鸿蒙应用能够提高代码的可维护性#xff0c;并简化复杂布局的构建。本篇将介绍如何创建自定义组件#xff0c;如何向组件传递数据#xff0c;以及如何在不同页面间复用这些组件。 关键…自定义组件可以帮助开发者实现复用性强、逻辑清晰的界面模块。通过自定义组件鸿蒙应用能够提高代码的可维护性并简化复杂布局的构建。本篇将介绍如何创建自定义组件如何向组件传递数据以及如何在不同页面间复用这些组件。 关键词 自定义组件复用组件属性传递组件通信组件封装 一、创建基础自定义组件 自定义组件是一个独立的 UI 单元包含了特定的布局、样式和行为可以在应用的不同部分复用。 1.1 基础自定义组件 创建一个显示标题和内容的简单组件封装标题文字和内容区域 // TitleContentCard.ets Component export struct TitleContentCard {Prop title: string; // 标题属性Prop content: string; // 内容属性build() {Column() {Text(this.title).fontSize(20) // 设置字体大小.fontWeight(FontWeight.Bold) // 设置字体加粗.margin({ bottom: 5 }); // 设置底部边距Text(this.content).fontSize(16); // 设置内容字体大小Image($r(app.media.cat)) // 添加一张图片.width(305) // 设置图片宽度.height(360); // 设置图片高度}.padding(10) // 设置内边距.borderRadius(8) // 设置圆角.backgroundColor(Color.Gray); // 设置背景颜色} }1.2 使用自定义组件 在其他页面引用 TitleContentCard 组件并传递标题和内容数据 // Index.ets import { TitleContentCard } from ./TitleContentCard; // 引入自定义组件Entry Component struct MainPage {build() {Row() {TitleContentCard({ title: 组件标题, content: 这里是内容 });TitleContentCard({ title: 第二个标题, content: 更多内容展示 });}.padding(20); // 设置外边距} }效果示例展示多个 TitleContentCard 实例带有不同标题和内容。 二、向自定义组件传递属性 自定义组件可以使用 Prop 修饰符接收外部传入的属性增强组件的复用性和灵活性。 2.1 属性传递 通过 Prop 定义组件的参数并从外部传递数据。以下示例中title 和 description 被传入并在组件中显示 // InfoCard.ets Component export struct InfoCard {Prop title: string; // 标题属性Prop description: string; // 描述属性build() {Column() {Text(this.title).fontSize(18) // 设置标题字体大小.fontWeight(FontWeight.Bold); // 设置标题加粗Text(this.description).fontSize(14) // 设置描述字体大小.margin({ top: 5 }); // 设置顶部边距}.padding(10) // 设置内边距.backgroundColor(Color.White) // 设置背景颜色.borderRadius(10); // 设置圆角} }效果示例显示标题和描述展示信息卡片。 2.2 可选属性和默认值 为 Prop 设置默认值以防止外部未传递数据时出现错误 // InfoCard.ets Component export struct InfoCard {Prop title: string 默认标题; // 设置默认标题Prop description: string 默认描述; // 设置默认描述build() {Column() {Text(this.title).fontSize(18).fontWeight(FontWeight.Bold);Text(this.description).fontSize(14).margin({ top: 5 });}.padding(10).backgroundColor(Color.White).borderRadius(10);} }效果示例当未传递标题和描述时展示默认信息。 三、嵌套与组合自定义组件 自定义组件可以嵌套使用创建更复杂的 UI 布局实现界面模块化。 3.1 组合组件示例 创建一个包含图片、标题和内容的卡片组件并嵌套使用 TitleContentCard 组件 // ImageCard.ets import { TitleContentCard } from ./TitleContentCard; // 引入自定义组件Component export struct ImageCard {Prop imageUrl: string; // 图片 URLProp title: string; // 标题Prop content: string; // 内容build() {Column() {Image(this.imageUrl).width(100%) // 设置宽度.height(150) // 设置高度.objectFit(ImageFit.Cover) // 设置图片填充模式.borderRadius(10); // 设置圆角TitleContentCard({ title: this.title, content: this.content }).margin({ top: 10 }); // 设置顶部边距}.padding(10) // 设置内边距.backgroundColor(Color.White) // 设置背景颜色.borderRadius(10); // 设置圆角} }3.2 组合组件的使用 在其他组件中调用 ImageCard并传入数据 // Index.ets ImageCard({imageUrl: https://example.com/sample.jpg,title: 图片标题,content: 这是一段描述文字。 });效果示例展示包含图片、标题和内容的卡片。 四、组件状态管理与内部通信 内部状态管理 自定义组件可以使用 State 管理内部状态控制组件内部的动态变化。例如切换显示内容的状态 // ToggleContentCard.ets Component export struct ToggleContentCard {Prop title: string; // 标题Prop content: string; // 内容State isVisible: boolean false; // 是否可见build() {Column() {Text(this.title).fontSize(18).onClick(() {this.isVisible !this.isVisible; // 切换可见状态});if (this.isVisible) {Text(this.content).fontSize(16).margin({ top: 10 });}}.padding(10).backgroundColor(Color.Gray).borderRadius(8);} }父子组件通信 父组件可以通过状态管理与子组件通信实现数据共享。例如父组件控制 ToggleContentCard 的显示状态 // Index.ets import { ToggleContentCard } from ./ToggleContentCard; // 引入子组件Entry Component struct MainPage {State isCardVisible: boolean false; // 卡片是否可见build() {Column() {Button(切换内容显示).onClick(() {this.isCardVisible !this.isCardVisible; // 切换状态}).padding(10).backgroundColor(Color.Green).fontColor(Color.White).borderRadius(5);if (this.isCardVisible) {ToggleContentCard({title: 点击标题查看内容,content: 这里是详细内容}).margin(20);}}.padding(20).width(100%).height(100%).alignItems(HorizontalAlign.Center) // 水平居中.justifyContent(FlexAlign.Center); // 垂直居中} }五、自定义组件的最佳实践 组件拆分 尽量将组件拆分为小而独立的部分每个组件负责一项特定功能减少耦合。 可重用性 为组件提供通用的属性设置默认值确保组件在多种场景下均能复用。 性能优化 避免在组件内部频繁更新状态减少不必要的重绘保证性能。 小结 本篇介绍了自定义组件的创建与使用涵盖了属性传递、嵌套组合和状态管理等内容。通过自定义组件开发者可以构建复用性强、逻辑清晰的 UI 模块大大提升鸿蒙应用的开发效率和维护性。 下一篇预告 下一篇将带你体验第一个互动项目——“灯光控制小项目”学习如何结合按钮交互和状态管理来实现动态效果。 上一篇「Mac畅玩鸿蒙与硬件22」鸿蒙UI组件篇12 - Canvas 组件的动态进阶应用 下一篇「Mac畅玩鸿蒙与硬件24」UI互动应用篇1 - 灯光控制小项目
http://www.hkea.cn/news/14513182/

相关文章:

  • 房产网站建设方案论文网站中的滑动栏怎么做
  • 共享的网站备案网站开发g
  • 骏域网站建设专家广州施工企业会计核算及常用会计分录
  • 响水做网站哪家好鹤山做网站
  • 建设网站查询密码wordpress主机空间
  • sem什么意思优化营商环境指什么
  • 150m网站空间厦门 公司网站建设
  • 遵义城乡建设网站wordpress知识库主题
  • 成都做网站的长春免费网上推广
  • 网站怎么做返回主页按钮刷粉网站推广
  • 广州网站开发外包品牌管理公司网站建设
  • 代理记账 营销型网站南城区仿做网站
  • 卖狗做网站什么关键词最好湖北建设注册中心网站
  • dedecms导航网站网易联合创新中心
  • 网站制作素材图片wordpress默认字体颜色
  • 做单页网站做的网站底部应该标注什么
  • 个人网站建设流程图wordpress 微信登录
  • 网站内页修改关键字揭阳网站制作价格
  • 网站的运行与维护自己做的网站 怎么在网上销售
  • 网站建设管理工作交流发言材料wordpress初级教程
  • 做游戏下载网站赚钱wordpress主题控制区的标签
  • 企业网站源码下载站长之家page文件转换wordpress
  • 广州网站推广公司自己做网站制作需要多少钱
  • 政务公开网台州网站关键字优化
  • 做php网站时如何建立数据库小型影视网站源码
  • 自己做的网站怎么连接域名被他人备案后做违法网站
  • 第三方平台网站的建设规划wordpress 表单页面
  • 任务网站建设建筑设计专业的网站
  • 太仓有专门做网站的地方吗辽宁建设银行企业银行官方网站
  • 北京 网站建设 招标信息自建个网站怎么做