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

鸿蒙开发之ArkUI 界面篇 三十三 Builder(封装容器)

鸿蒙开发中遇到容器相同、容器下面的子组件相同,就是子组件的文字不同,背景颜色不同,文字颜色不同之类,就可以使用Builder来封装,语法格式如下:

例如下面的界面:

Row+4个Colum+Image+Text来实现,发现呢?出来背景图和文字不同其他都是一样的,所以就可以把一样的抽取到一个方法里面,变的作为参数传递,代码如下:

// 全局 Builder
@Builder
function navItem(icon: ResourceStr, txt: string) {Column({ space: 10 }) {Image(icon).width('80%')Text(txt)}.width('25%').onClick(() => {AlertDialog.show({message: '点了' + txt})})
}@Entry
@Component
struct BuilderDemo {@State message: string = '@Builder';@BuildernavItem(icon: ResourceStr, txt: string) {Column({ space: 10 }) {Image(icon).width('80%')Text(txt)}.width('25%').onClick(() => {AlertDialog.show({message: '点了' + txt + this.message})})}build() {Column({ space: 20 }) {Text(this.message).fontSize(30)Row() {Row() {navItem($r('app.media.ic_reuse_01'), '阿里拍卖')navItem($r('app.media.ic_reuse_02'), '菜鸟')this.navItem($r('app.media.ic_reuse_03'), '巴巴农场')this.navItem($r('app.media.ic_reuse_04'), '阿里药房')}}}.width('100%').height('100%')}}

总结:鸿蒙组价的封封装提供了三种实现分别是Extend、Styles、Builder,Extend需要指定具体的组件类型,支持参数,Styles更通用,不需要具体类型,不支持参数,Builder是界面构建层面的封装,支持参数,通用的代码包括Row和Colum和组件都封装在函数里


http://www.mrgr.cn/news/48659.html

相关文章:

  • antd table合并复杂单元格、分组合并行、分组合并列、动态渲染列、嵌套表头
  • flutter实现头像覆盖轮播滚动组件
  • opencv外接矩形cv2.boundingRect和cv2.minAreaRect区别
  • d3dcompiler_47.dll缺失怎么修复,马上教你六种靠谱的方法
  • 【LLM大模型】一些Llama3微调工具以及如何在Ollama中运行
  • 界面耻辱纪念堂--隐喻使用不当05
  • MySQL 中的数据库锁和表锁
  • java 洛谷题单【数据结构1-2】二叉树
  • 【linux开发-驱动】-STM32MP157启动相关
  • 介绍xshell的使用技巧
  • 【记录47】防止按钮短时间频繁点击触发接口,导致影响性能和用户的体验不好及浪费资源
  • leetcode.3158 xor值(亦或运算)
  • 教你一招快速解决MacOS鼠标滚轮反转的问题
  • 90%客户都避不开的通风天窗选购误区!后悔没早点看到
  • 智汇云舟亮相WAFI世界农业科技创新大会,并参编数字农业产业图谱
  • 本地部署Ollama+千文大模型,docker openui访问
  • Go语言中的控制结构(四)
  • stm32定时器中断和外部中断
  • linux下编译鸿蒙版curl、openssl
  • FFmpeg的简单使用【Windows】--- 简单的视频混合拼接