HarmonyOS 鸿蒙Next @Builder中想要改变参数值应该如何做?
HarmonyOS 鸿蒙Next @Builder中想要改变参数值应该如何做? 拿文档的示例举例:
可以实现由父组件传递给@Builder并重新渲染UI,
现在我想实现,在@Builder中更改传过来的参数值,并且重新渲染UI,请问有什么好的实现办法吗?
@Entry
@Component
struct BuilderPage {
@State str: string = "默认的"
@State num: number = 0
build() {
Column() {
Text(`点击变化值-按引用传递参数\n${this.str}: ${this.num}`).fontSize(27).onClick(() => {
this.str = '刘小宇'
this.num = 24
})
textClick({ str: this.str, num: this.num })
}.width('100%').margin({ top: 100 })
}
}
// 强制的,要定义一个class里面放要接受参数的字段名
class Tmp {
str: string = ''
num: number = 0
}
[@Builder](/user/Builder)
function textClick($$: Tmp) {
Row() {
Text(`${$$.str}: ${$$.num}`).fontSize(20).margin({ top: 15 }).onClick(() => {
$$.num = 10
})
}
}
更多关于HarmonyOS 鸿蒙Next @Builder中想要改变参数值应该如何做?的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html
楼主解决了吗
更多关于HarmonyOS 鸿蒙Next @Builder中想要改变参数值应该如何做?的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html
这是目前没有具体内容的区域。
希望HarmonyOS能继续加强在安全性方面的研发,保护用户的隐私和数据安全。
根据规则无法改变,可以使用@Component组件来实现
。
文档中表示不可以改变参数值,有什么其他的办法,强行的更新这个参数值吗
在HarmonyOS(鸿蒙)系统中,如果你在使用@Builder注解时想要改变参数值,通常这涉及到构建一个对象时动态地设置其属性。@Builder注解是Lombok库提供的一种便捷方式,用于减少样板代码,使得对象的构建过程更加清晰和流畅。
在HarmonyOS中,如果你已经有一个使用了@Builder注解的类,改变参数值的过程大致如下:
-
调用Builder:首先,你需要调用该类的
builder()
静态方法,这会返回一个Builder实例。 -
设置参数:通过Builder实例提供的方法设置你想要的参数值。这些方法通常是
withXxx(Yyy value)
形式,其中Xxx
是属性名,Yyy
是属性类型。 -
构建对象:最后,调用
build()
方法来创建并返回构建好的对象实例。
例如,假设有一个Person
类,它有一个name
属性和一个age
属性,并且使用了@Builder注解:
Person person = Person.builder()
.name("John Doe")
.age(30)
.build();
如果你想要改变name
或age
的值,只需在调用build()
之前重新设置它们即可。
如果问题依旧没法解决请联系官网客服,官网地址是 https://www.itying.com/category-93-b0.html