自定义弹窗使用相关问题

自定义弹窗中使用@BuilderParam装饰器装饰变量作为占位。在使用时通过指向@Builder装饰的构建函数。

自定义弹窗使用相关问题-鸿蒙开发者社区

 设置弹窗的圆角,自定义弹窗.borderRadius(15)属性失效问题

HarmonyOS
2024-05-23 23:07:40
浏览
收藏 0
回答 1
待解决
回答 1
按赞同
/
按时间
椰子的笔记

使用的核心API

1. @BuilderParam装饰器使用解决在自定义组件中添加一个例如点击跳转操作。若直接在组件内嵌入事件方法,将会导致所有引入该自定义组件的地方均增加了该功能

@BuilderParam用来装饰指向@Builder方法的变量,开发者可在初始化自定义组件时对此属性进行赋值,为自定义组件增加特定的功能。该装饰器用于声明任意UI描述的一个元素,类似slot占位符。

2. CustomDialogController(value: CustomDialogControllerOptions)接口CustomDialogController类显示自定义弹窗。参数通过builder来自定义弹窗的构造器。

核心代码解释

在父组件中使用this指向@builder装饰的构建函数,如下:

richText:(): void=> this.buildCall("123XXXXXXX") 
@Builder buildCall(mobile: string) { 
  Text() { 
    Span('确认呼叫号码').fontColor($r("app.color.theme_text_color")).fontSize(14) 
    Span(mobile).fontColor($r("app.color.theme_color")).fontSize(14) 
    Span('?').fontColor($r("app.color.theme_text_color")).fontSize(14) 
  } 
  .margin({ left: 16, top: 16, right: 16 }) 
}

参数customStyle表示弹窗容器样式是否自定义。当直接设置弹窗圆角半径时,设置不生效,需要添加customStyle参数才可以设置圆角半径。

dialogController: CustomDialogController = new CustomDialogController({ 
  builder: CustomDialogExample({ 
    cancel: this.onCancel, 
    confirm: this.onAccept, 
    richText:(): void=> this.buildCall("123XXXXXXX") 
  }), 
  autoCancel:false,//是否允许点击避障层退出 
  customStyle: true//弹窗样式是否自定义   
})

实现效果


分享
微博
QQ
微信
回复
2024-05-24 22:47:42
相关问题
HarmonyOS 自定义弹窗CustomDialog问题
204浏览 • 1回复 待解决
HarmonyOS 自定义弹窗问题
270浏览 • 1回复 待解决
自定义弹窗如何嵌套使用
889浏览 • 1回复 待解决
使用自定义弹窗实现分享弹窗
236浏览 • 1回复 待解决
自定义弹窗自定义转场动画
696浏览 • 1回复 待解决
如何在自定义弹窗中再次弹窗
1919浏览 • 1回复 待解决
自定义装饰器的使用问题
496浏览 • 1回复 待解决
HarmonyOS 自定义弹窗遮罩未全屏
196浏览 • 1回复 待解决
如何设置自定义弹窗位置
1769浏览 • 1回复 待解决
自定义日期滑动选择器弹窗
71浏览 • 1回复 待解决
开发自定义弹窗时报错如下
259浏览 • 1回复 待解决
HarmonyOS 如何制作自定义加载弹窗
77浏览 • 1回复 待解决
如何自定义popup弹窗的布局?
235浏览 • 2回复 待解决
弹窗打开、关闭动画是否支持自定义
1890浏览 • 1回复 待解决
自定义弹窗大小如何自适应内容
2055浏览 • 1回复 待解决