HarmonyOS 鸿蒙Next:请问如何给自定义组件传递子组件呢?(已解决)

发布于 1周前 作者 h691938207 最后一次编辑是 5天前 来自 鸿蒙OS

HarmonyOS 鸿蒙Next:请问如何给自定义组件传递子组件呢?(已解决)

  • 如何让 AAA 能接受子组件呢?
  • 该怎么写呢
AAA() {
    BBB()
}
 
7 回复
子组件只能通过[@BuilderParam](/user/BuilderParam)实现,
[@Builder](/user/Builder)
export
function GlobalBuilder() {
}

[@BuilderParam](/user/BuilderParam) child: () => void = GlobalBuilder;

[@Component](/user/Component)
export struct TitleBar {
[@BuilderParam](/user/BuilderParam) child: () => void = GlobalBuilder;

build() {
Column() {
 this.child()
}
}
}

TitleBar() {
传入自定义子组件child
}

感谢大佬!

就是这个语法感觉不太优雅,得写一个空的 BuilderParam 希望官方以后能有改进吧~

不是可以像楼下那样直接传递吗

楼下那样你试过可以吗?我试过不行,语法报错。。

cke_2035.png

不好意思,这段昨天误导你了,每个build里必须要用系统的容器组件作为父组件,

还有一点,没有说到,每个自定义组件里只能有一个[@BuilderParam](/user/BuilderParam)

嗯 没关系 这个我也发现了~

在HarmonyOS鸿蒙Next中,给自定义组件传递子组件通常通过组件的props或类似机制实现。你可以在父组件中定义子组件的实例,并通过属性传递给自定义组件。确保自定义组件能够接收并正确处理这些子组件。如果子组件需要特定的初始化或配置,也应在传递时一并处理。如果问题依旧没法解决请加我微信,我的微信是itying888。

回到顶部