鸿蒙用 BuilderParam 实现同一个布局不同内容组件

news2025/7/19 10:04:46

面通过一个案例展示@BuilderParam的具体用法,例如,现需要实现一个通用的卡片组件,如下图所示

image.png

卡片中显示的内容不固定,例如

image.png

具体实现代码如下:

@Entry
@Component
struct BuildParamDemo {

  build() {

    Column(){

      Card() {
        imageBuilder()
      }

      Divider()
        .margin(10)

      Card() {
        textBuilder()
      }

    }

  }

}

@Builder function textBuilder() {
  Column({ space: 10 }) {
    Text('鸿蒙操作系统')
      .fontSize(25)
      .fontWeight(FontWeight.Bold)
    Text('华为鸿蒙HarmonyOS系统是面向万物互联的全场景分布式操作系统,支持手机、平板、智能穿戴、智慧屏等多种终端设备运行,提供应用开发、设备开发的一站式服务的平台。')
  }
}


@Builder function imageBuilder() {
  Column({ space: 10 }) {
    Image($r('app.media.img_harmony'))
      .width(300)
      .height(150)
    Text('鸿蒙操作系统')
  }
}


@Component
struct Card {
  @BuilderParam content: () => void; //@BuilderParam属性

  build() {
    Column() {
      this.content(); //占位符
    }.width('90%')
    .padding(10)
    .borderRadius(10)
    .shadow({ radius: 20 })
  }
}复制

结果图:

cke_6477.png

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1822236.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

aac如何转化mp3?超好用的四种音频转换方法!

aac如何转化mp3?AAC格式可能鲜为人知,但实际上它是一种音频文件格式,然而,AAC的应用却不太广泛,这并非偶然,首先,使用AAC需要支付专利费用,这对于个人和公司都可能是一笔不小的开支&…

【网络安全】【深度学习】【入侵检测】SDN模拟网络入侵攻击并检测,实时检测,深度学习【一】

文章目录 1. 前言2. Mininet 和 Ryu 的区别2.1 Mininet2.2 Ryu2.3 总结 3. 模拟攻击3.1 环境准备3.2 创建 Mininet 网络拓扑3.2 启动 Ryu 控制器3.3 模拟网络攻击3.4 捕获流量 4. 实时异常检测4.1 在 Ryu 控制器中4.2 在 h2 机器上的实验结果4.3 深度学习模型部署上h2机器 帮助…

Git保姆级教程

目录 Git是什么,为什么要学这个工具? 码云注册并创建仓库 Git安装 查看本地仓库状态 添加到暂存区 提交到本地库 修改文件 版本回退 创建、切换和删除分支 合并分支 克隆远端库到本地 将本地库推送到远端库 命令设置别名 Git是什么&#xf…

Qt 竖排文字研究(一)

在传统的编程环境中,代码的排列方式通常是水平的,这是基于我们日常的阅读习惯和编程规范。但是,当我们尝试打破这一常规,将代码字符以竖排的方式呈现时,发现没有什么现成有效的方式。所以本文基于Qt 的场景视图下&…

水表摄像直读抄表仪

1.技术性简述 水表摄像直读抄表仪,是一种前沿的智能计量机器设备,它利用超清摄像头部和图像识别算法,完成了远程控制、非接触的水表载入。这一技术的普及,颠覆了传统式人力抄表的形式,提高了效率,降低了不…

eclipse如何导入springboot项目

打开eclipse 找到你的springboot项目 点击finish即可 test02就已经导入进去了 配置一下maven 在将那个springboot项目刷新一下即可 运行成功

搭建 Redis 集群【Windows】

Redis 集群是一个分布式存储解决方案,它将数据分布在多个Redis节点上,以提高系统的可伸缩性、可靠性和性能。 1. 集群概念与特点 集群概念:Redis集群是由多个相互独立的 Redis 节点组成,这些节点通过高速网络互联,并作…

Java多线程-StampedLock(原子读写锁)

StampedLock 是读写锁的实现,对比 ReentrantReadWriteLock 主要不同是该锁不允许重入,多了乐观读的功能,使用上会更加复杂一些,但是具有更好的性能表现。StampedLock 的状态由版本和读写锁持有计数组成。 获取锁方法返回一个邮戳&…

源代码防泄密经验分享之安全上网篇

场景描述: 随着信息技术的发展,越来越多的新技术产品进入到政府、军事、科研等涉密单位。这些新技术产品在给工作人员带来便利的同时,也给信息安全保密工作带来了许多新的不容忽视的安全隐患,应引起高度重视。常规的内外网隔离手…

VSCode插件开发之初始化项目

VS code常见组件 在VS Code插件开发中,常用的组件有很多,这些组件可以帮助你实现各种功能和交互。以下是一些常见的组件: Extension API模块: 提供了许多类和方法,用于与VS Code编辑器进行交互,例如vscode.workspace用…

抽象语法树AST(Abstract Syntax Tree)

抽象语法树(Abstract Syntax Tree) 抽象语法树(Abstract Syntax Tree,AST)是源代码语法结构的一种抽象表示它以树状的形式表现编程语言的语法结构,树上的每个节点都表示源代码中的一种结构 抽象语法树用途 代码语法的检查、代码…

辣椒属2个T2T基因组-文献精读23

Two telomere-to-telomere gapless genomes reveal insights into Capsicum evolution and capsaicinoid biosynthesis 两个端粒到端粒无缝基因组揭示了辣椒进化和辣椒素生物合成的相关见解 摘要 辣椒(Capsicum)因其果实中含有辣椒素而闻名&#xff0c…

【SQL每日一练】获取北纬度(LAT_N)的中位数

文章目录 前言一、题析二、题解1.mysql2.sqlserver 前言 从 STATION 查询北纬度 (LAT_N) 的中位数,并将您的答案四舍五入到小数点后4位. 中位数的定义是:如果数据量是奇数,则中位数是排序后位于中间的数;如…

拥抱数字世界|AI在娱乐行业的应用,娱乐新纪元已到来

在蓬勃发展的全球化趋势下,越来越多的厂商正在批量涌入娱乐赛道,期待能创造新的增长奇迹。随着科技的不断发展,人工智能技术正日益深入各行各业,其中媒体和娱乐行业更是迎来了一场革命性的变革。在媒体和娱乐领域展现出了巨大的潜…

海康威视-NVR使用及ISAPI协议透传接入

目录 1、初始化配置 1.1、设置通道默认密码 1.2、添加摄像头 1.3、设置不采集时间段 1.4、抓拍延迟设置 1.5、录像保存时长设置 1.6、人脸库维护 1.7、导入照片 1.8、设置事件 1.8.1、引擎配置 1.8.2、事件设置 1.8.2.1、目标比对 1.8.2.2、设置屏蔽区 1.8.2.3、…

每日一练:攻防世界:北京地铁

首先是找图片隐写 在这里可以看到一串类似base64格式的字符串 再结合题目,这应该就是明文了,要AES解密,还需要密钥,提示要看图片本身,那密钥可能藏在里面,找了半天没找到,参考师傅的wp&#x…

Docker:利用Docker搭建一个nginx服务

文章目录 搭建一个nginx服务认识nginx服务Web服务器反向代理服务器高性能特点 安装nginx启动nginx停止nginx查找nginx镜像拉取nginx镜像,启动nginx站点其他方式拉取nginx镜像信息通过 DIGEST 拉取镜像 搭建一个nginx服务 首先先认识一下nginx服务: NGI…

FreeRTOS 简单内核实现1 前言

文章目录 0、写在前面1、参考资料2、准备工作2.1、STM32 空工程2.2、创建 RTOS 文件目录 3、约定4、专栏目录5、项目仓库 0、写在前面 为深入理解 RTOS 内核工作机制,笔者制作了名为 “FreeRTOS 内核简单实现” 的项目专栏 ,目标为自己动手从 0 到 1 编…

第二证券股市资讯:苹果,重回第一!

苹果以弱小的优势,从头夺回市值榜首宝座。 当地时间6月13日周四,美股三大股指涨跌纷歧,纳指与标普500指数均录得接连第四日上涨,而且再创前史新高。 周四,美国5月份生产者价格指数(PPI)意外下…

Apache Doris单机快速安装(已踩坑)

官方文档:https://doris.incubator.apache.org/zh-CN/docs/get-starting/quick-start/ 环境: 操作系统:CentOS7.6 X86_64 JDK:Oracle jdk1.8.0_351 1.版本下载 从 doris.apache.org 下载相应的 Doris 安装包,并且解压…