学习笔记(四十二):自定义组件@BuilderParam装饰器

news/2025/2/27 22:53:42/文章来源:https://www.cnblogs.com/xqxacm/p/18563895

概述:

该装饰器用于声明任意UI描述的一个元素,类似slot占位符。

 

使用示例:

1、初始化@BuilderParam装饰的方法

// 自定义组件
@Component
export struct CommonView{@Builder customBuilder() {}; // 当前组件@BuilderParam customBuilderParam: () => void = this.customBuilder;   // @BuilderParam装饰的方法只能被自定义构建函数(@Builder装饰的方法)初始化build() {Column(){Text('标题')this.customBuilderParam() // 类似slot占位符,外部使用该自定义组件的时候动态传一个自定义构建函数}.width('100%')}
}

 

 2、用父组件自定义构建函数初始化子组件@BuilderParam装饰的方法
@Entry
@Component
export struct Main{build() {Column(){CommonView({customBuilderParam:this.slotView})}.height('100%').width('100%')}@Builder slotView(){Text('这是内容')}
}

效果图:

 

3、若外部使用该组件无传入 @BuilderParam装饰的方法 ,则使用默认的@builder内容

// 自定义组件
@Component
export struct CommonView{@Builder customBuilder() {Text('默认内容')   // 默认ui
  };@BuilderParam customBuilderParam: () => void = this.customBuilder;build() {Column(){Text('标题')this.customBuilderParam()}.width('100%')}
}// 使用页面
@Component
export struct Main{build() {Column(){CommonView() // 使用自定义组件但没有传入customBuilderParam,则使用自定义组件默认ui}.height('100%').width('100%')}@Builder slotView(){Text('这是内容')}
}

 

效果图:

 

 

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

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Python创建虚拟环境报错:Error: Command......

目录环境说明问题描述原因分析解决方法 环境说明系统# lsb_release -a No LSB modules are available. Distributor ID: Ubuntu Description: Ubuntu 22.04.4 LTS Release: 22.04 Codename: jammyPython版本# python3 --version Python 3.13.0问题描述 使用 ve…

使用Redis来实现在线人数的查看

使用Redis来实现在线人数的查看在学习程序员老罗的easylive项目当中,遇到了一个对我现阶段来说很有意思的功能,那就是实现在线人数查看的功能,我第一次接触到这个功能是在学习WebServlet的监听器的时候.那时候是使用Listener监听器的Session事件和Context的生命周期来实现这个功…

PDF 转 HTML API 数据接口

PDF 转 HTML API 数据接口 文件处理 / PDF 高效 PDF 转 HTML 工具 生成HTML站点 / 可永久存储。1. 产品功能高效处理大文件; 支持多语言字符识别; 支持 formdata 格式 PDF 文件流传参; 输出文件永久 CDN 存储; 输出可直接访问的 HTML 站点; 全接口支持 HTTPS(TLS v1.0 / …

圆形直流电(DC)接口和供电特点

、 l定义:圆形接口是一种具有圆形外形的电源接口,通常由插头和插座两部分组成,用于设备之间的电能传输。l特点:结构简单:由金属或塑料制成的外壳包裹内部的引脚或接触子,形状紧凑,易于安装和连接。耐用性强:插头和插座常采用耐磨损的材料制成,能够经受长期插拔和重复使…

抖音自动识别视频标题描述进行点赞评论脚本2020.11.22

抖音自动识别视频标题描述进行点赞评论脚本2020.11.22该 python 脚本可自动实现,针对抖音网页版,识别短视频的标题和描述内容,符合预设题材,自动点赞、评论、关注、收藏。 已绕过检测,可以稳定运行。 可用于广告宣传,刷粉丝等情景。需要的联系抖音账号:太阳不晒晚睡不困…

VMware Workstation Pro 17.0.0 安装

下载 来自考拉软件: https://www.rjctx.com/19784.html 安装包:图 1 安装包安装 鼠标右击【VMware17.0】选择【以管理员身份运行】图 1点击【下一步】

starrycan的pwn随笔——Linux保护机制与基本环境搭建

一.linux下的所有保护机制 0x01 为什么要有保护机制 学校需要大门来禁止外来人员的进入,需要规章制度来约束学生,事在人为,而我们的linux的最核心的代码也由人写出也需要些规定来促使程序的正常运行,其中非常中重要的部分就是内存地址的记录,堆栈空间的正常开辟和清理 0x02 Li…

基于Java+SpringBoot+Mysql在线简单拍卖竞价拍卖竞拍系统功能设计与实现一

超级管理员:系统管理、用户管理、拍卖者管理、拍卖商品管理等。 普通用户:注册登录、个人信息管理(个人资料、密码修改等)、竞价管理、评价等。 企业用户:注册登录、发布竞拍、竞拍管理等。 运行环境:windows/Linux均可、jdk1.8、mysql5.7、redis3.0、idea/eclipse均可。…

CTFWeb篇05-RCE

RCE漏洞 简介RCE(remote code/command execute) 远程代码/命令执行漏洞 RCE漏洞是两个漏洞:代码执行漏洞 # 针对后端语言! 命令执行漏洞 # 针对系统!产生原因 在 Web应用中有时候程序员为了考虑灵活性、简洁性,会在代码调用代码或命令执行函数去处理。比如当应用在调用一些能…

优化注意力层提升 Transformer 模型效率:通过改进注意力机制降低机器学习成本

Transformer 架构由 Vaswani 等人在 2017 年发表的里程碑式论文《Attention Is All You Need》中首次提出,如今已被广泛认为是过去十年间最具开创性的科学突破之一。注意力机制是 Transformer 的核心创新,它为人工智能模型提供了一种全新的方法,使模型能够根据具体任务的需求…

hash长度拓展攻击

因为hash生成机制,我们可以人为在明文中加入冗余数据,使得加密链多出一节(可控),使得当我们知道倒数第二节的数据时可以控制最终的md5值如同MD5算法那般分组后与向量运算的流程被统称为Merkle–Damgrd结构。 而同样使用此结构的HASH算法还有:SHA1、SHA2等以md5算法为例子…