HarmonyOS 当自定义组件使用大括号传递插槽时无法传递样式

例如自定义组件名为Comp。

渲染为

Comp() {
Text(‘xx’)
}.fontColor(‘white’)

我使用这种方法传递插槽组件时,无法传递样式至Comp的自定义组件。

但是当不传递插槽组件时,可以传递样式。

HarmonyOS
2024-09-24 10:34:52
浏览
收藏 0
回答 1
待解决
回答 1
按赞同
/
按时间
FengTianYa

插槽传递样式,请参考以下代码:

@Component  
export struct Son {  
  @Prop title: string = 'title'  
  @Prop textWidth: number = 10;  
  
  @Builder  
  defaultSlot() {  
  }  
  
  @BuilderParam imageSlot: () => void = this.defaultSlot  
  build() {  
    Column() {  
      Text(this.title).width(this.textWidth).backgroundColor(Color.Grey);  
      this.imageSlot()  
    }  
  }  
}  
  
@Entry  
@Component  
struct Parent {  
  private title = '我是title'  
  
  @Builder  
  img() {  
    Image($r('app.media.icon')).width('24').height('24')  
    Text('xx').fontColor(Color.Orange).fontSize(20);  
  }  
  
  build() {  
    Column() {  
      Son({ title: this.title, imageSlot: this.img, textWidth: 50 }).width("200").backgroundColor(Color.Pink)  
    }  
  }  
}
分享
微博
QQ
微信
回复
2024-09-24 17:48:53
相关问题
js 自定义组件如何传递方法?
5870浏览 • 2回复 待解决
HarmonyOS如何自定义视频组件样式
397浏览 • 1回复 待解决
自定义弹窗中的变量如何传递给页面
2639浏览 • 1回复 待解决
鸿蒙组件toast自定义样式
8793浏览 • 1回复 待解决
HarmonyOS 自定义Slider样式
314浏览 • 1回复 待解决
如何自定义Video组件控制栏样式
2388浏览 • 1回复 待解决
HarmonyOS 如何定义组件插槽
323浏览 • 1回复 待解决