HarmonyOS 鸿蒙Next 如何使用CustomerBuilder 封装组件时 在父组件定义的内容如何在子组件渲染 类似于Vue的插槽
HarmonyOS 鸿蒙Next 如何使用CustomerBuilder 封装组件时 在父组件定义的内容如何在子组件渲染 类似于Vue的插槽 如何使用CustomerBuilder 封装组件时 在父组件定义的内容如何在子组件渲染 类似于Vue的插槽
3 回复
楼主您好,@BuilderParam装饰器搭配@Builder函数可以实现插槽的功能。文档连接如下:
更多关于HarmonyOS 鸿蒙Next 如何使用CustomerBuilder 封装组件时 在父组件定义的内容如何在子组件渲染 类似于Vue的插槽的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html
BuilderParam可以实现类似插槽功能
在HarmonyOS中,使用CustomerBuilder
封装组件时,可以通过@BuilderParam
属性实现父组件向子组件传递内容,类似于Vue的插槽功能。具体步骤如下:
-
定义子组件:在子组件中声明一个
@BuilderParam
属性,用于接收父组件传递的内容。[@Component](/user/Component) struct ChildComponent { @BuilderParam content: () => void; build() { Column() { this.content(); // 渲染父组件传递的内容 } } }
-
在父组件中使用子组件:在父组件中,使用
@Builder
装饰器定义要传递的内容,并将其传递给子组件的@BuilderParam
属性。[@Component](/user/Component) struct ParentComponent { @Builder customContent() { Text('这是父组件传递的内容'); } build() { Column() { ChildComponent({ content: this.customContent }); } } }