【HM】使用@Builder装饰器,顺便要知道@BuilderParam,且注意this的指向

@Builder装饰器修饰的函数是自定义构造函数,可以定义组件内构造函数,也可以定义全局构造函数,提供给外部组件使用。

就是通过自定义构造函数,可以把build(){// UI元素} 构造函数内的UI部分,抽离出来封装成一个函数,在函数前面加上@Builder装饰器,则为自定义构造函数,且只能在build()构造函数内调用。

export default struct Father {

build(){

// 分割线
Divider().color(Color.Red).lineCap(LineCapStyle.Round)

}

// 组件内自定义构造函数

@Builder myBuilder() {
// 分割线
Divider().color(Color.Red).lineCap(LineCapStyle.Round)

}

}

// 全局自定义构造函数

@Builder function GlobalBuilder() {
// 分割线
Divider().color(Color.Red).lineCap(LineCapStyle.Round)

}

原有的build()构造函数可改为:

build(){

this.myBuilder();

// 或

GlobalBuilder();

}

@BuilderParam 装饰器在子组件中定义,

export default struct Son{

// 占位

@BuilderParam placeHolder: () => void = () => {
};

build(){

Column() {

// 占位

this.placeHolder();

}

}

}

那么,在父组件Father中使用Son组件时,就可以在构造函数中传入自定义构造函数给子组件,

build(){

Son({

placeHolder : this.myBuilder

// 或

placeHolder : GlobalBuilder;

})

}


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

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

相关文章

Gradle命令打包 Execution failed for task ‘:app:compileDebugJavaWithJavac错误

Gradle命令打包的时候遇到的,Gradle的java版本不对导致的,用的17,换成11的就能正常打包了。

大模型管理工具Ollama搭建及整合springboot

目录 一、Ollama介绍 1.1 什么是Ollama 1.2 Ollama特点与优势 二、Ollama本地部署 2.1 版本选择 2.2 下载安装包 2.3 执行安装 2.4 Ollama常用命令 三、使用Ollama部署千问大模型 3.1 千问大模型介绍 3.2 部署过程 四、springboot接入Ollama 4.1 引入Ollama依赖 4…

树莓派LCD显示屏安装驱动详细教程

使用LCD显示屏有两种方式,1.如果你已安装好树莓派官方系统,需要单独安装驱动才可点亮显示屏。 2. 也可以直接烧录我们提供的系统 里面已含驱动程序。 一:连接方式 按照下图方式连接好LCD显示屏与树莓派主板 二:安装系统镜像&…

6个适合在家做的副业兼职,做得好的月入过万,适合上班族和宝妈

嘿,亲爱的朋友们!是不是常常觉得钱包瘪瘪,却又因为种种原因无法外出兼职? 别急,我来为大家揭秘几个在家也能轻松赚钱的靠谱副业,让你足不出户也能月入过万,从此告别财务烦恼! 副业一…

7岁男孩学什么编程好一些:探索儿童编程的四大领域与未来潜能

7岁男孩学什么编程好一些:探索儿童编程的四大领域与未来潜能 在数字化时代,编程已成为一项重要的技能。对于7岁的男孩来说,选择适合的编程学习内容至关重要。那么,究竟哪些编程课程更适合这个年龄段的孩子呢?本文将从…

1.5.3 基于Java配置方式使用Spring MVC

本实战教程主要介绍了如何使用Java配置方式来使用Spring MVC框架。相较于XML配置方式,Java配置方式提供了一种更为简洁和灵活的配置方法。 项目创建与配置 创建一个Jakarta EE项目,并设置项目名称和位置。选择Jakarta EE 10版本,不添加依赖&a…

python中的预编译正则表达式

预编译正则表达式指的是使用Python的re模块中的re.compile()函数提前将正则表达式的字符串形式编译成一个正则表达式对象。这样,当你需要在多个地方或多次使用同一个正则表达式时,你可以重用这个编译后的对象,而不是在每次使用时重新编译表达…

404.左叶子之和

计算给定二叉树的所有左叶子之和。 示例: 思路: 通过父节点来判断七子节点是不是我们要收集的元素。因为如果遍历到孩子节点,我们无法判断它是左孩子还是右孩子。 后序遍历,左右中。 判断当前节点是不是左叶子是无法判断的&…

Turtle中circle用法详解

在Python的Turtle图形库中,circle方法是一个非常灵活的工具,它允许我们以简单的方式绘制圆或圆的一部分。本文将深入探讨circle方法,特别关注radius和extent参数的用途及其正负值的意义。 一、circle方法概览 首先,让我们了解一…

271 基于matlab的可调Q因子小波变换故障诊断

基于matlab的可调Q因子小波变换故障诊断,可用在轴承、齿轮、活塞等故障诊断中,程序中包含了原始TQWT工具箱和轴承振动信号信号的谱包络的求取。通过仿真数据、实际轴承数据说明了方法的效果。程序已调通,可直接运行。 271 可调Q因子小波变换 …

JavaScript第五讲:事件,条件循环语句,错误处理

前言 在编程的世界里,事件、条件和循环语句、以及错误处理是构建任何复杂程序或应用的基石。无论是开发一个简单的网页交互,还是构建一个庞大的企业级系统,这些基础概念都扮演着至关重要的角色。今天星途将通过这篇文章,分别深入…

java中判断String类型为空和null的方法

1.判断一个String类型的变量是否为空(即长度为0)或者为null 在Java中,判断一个String类型的变量是否为空(即长度为0)或者为null,通常需要使用两个条件语句来进行检查。这是因为null表示变量没有引用任何对…

01PCB设计概述

PCB设计概述 EDA electronic design automatic 电子设计自动化(利用计算机来实现电子设计) 分为 : 微电子(芯片设计)、硬件板卡(PCB设计) 画原理图、画PCB布线 要会绘制原理图库、和封装图库 元…

计算机组成原理06:浮点数运算

浮点数加减运算 之前我们提到过&#xff0c;浮点数具有特定的表示形式。因此&#xff0c;在进行浮点数的加减运算之前&#xff0c;需要统一浮点数的表达方式。这里我们主要对浮点数表示中的尾数M进行处理&#xff0c;要求0≤M<1&#xff0c;统一格式如下&#xff1a; 正数…

在Ubuntu下安装配置和调优iptables的终极指南

嘿&#xff0c;大家好&#xff01;今天我要和大家分享一篇关于在Ubuntu下安装配置和调优iptables防火墙的技术博客。废话不多说&#xff0c;我们直接切入主题。 首先&#xff0c;我要强调一下&#xff0c;今天我在阿贝云免费服务器上进行了部署测试。我得说&#xff0c;这个免…

LeetCode84:柱形图中最大的矩形

题目描述 给定 n 个非负整数&#xff0c;用来表示柱状图中各个柱子的高度。每个柱子彼此相邻&#xff0c;且宽度为 1 。 求在该柱状图中&#xff0c;能够勾勒出来的矩形的最大面积。 代码 单调栈 class Solution { public:int largestRectangleArea(vector<int>& h…

React@16.x(16)Render Props

目录 1&#xff0c;问题描述2&#xff0c;解决方式2.1&#xff0c;Render Props2.2&#xff0c;HOC 3&#xff0c;使用场景 1&#xff0c;问题描述 当使用组件时&#xff0c;标签中的内容&#xff0c;会被当做 props.children 来渲染&#xff1a; 子组件&#xff1a; import…

AI 学习神器!大学生必备的 22个 AI 提示词模板

AI 学习神器&#xff01;大学生必备的 22个 AI 提示词模板 博主猫头虎的技术世界 &#x1f31f; 欢迎来到猫头虎的博客 — 探索技术的无限可能&#xff01; 专栏链接&#xff1a; &#x1f517; 精选专栏&#xff1a; 《面试题大全》 — 面试准备的宝典&#xff01;《IDEA开发秘…

6. MySQL 查询、去重、别名

文章目录 【 1. 数据表查询 SELECT 】1.1 查询表中所有字段使用 * 查询表的所有字段列出表的所有字段 1.2 查询表中指定的字段 【 2. 去重 DISTINCT 】【 3. 设置别名 AS 】3.1 为表指定别名3.2 为字段指定别名 【 5. 限制查询结果的条数 LIMIT 】5.1 指定初始位置5.2 不指定初…

基于优化Morlet小波的一维信号瞬态特征提取方法(MATLAB R2018A)

小波分析方法近些年逐步得到发展的一门数学分析技术&#xff0c;它对许多学科都有十分重要的影响。与傅立叶变换等其他传统方法相比&#xff0c;小波分解的方法中所用的小波基有着多种多样的结构&#xff0c;总结来说又包括正交小波系与非正交小波系。正交小波在信号处理领域目…