自定义弹窗使用相关问题

自定义弹窗中使用@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
相关问题
使用自定义弹窗实现分享弹窗
364浏览 • 1回复 待解决
HarmonyOS 自定义弹窗CustomDialog问题
365浏览 • 1回复 待解决
HarmonyOS 自定义弹窗问题
426浏览 • 1回复 待解决
自定义弹窗如何嵌套使用
1265浏览 • 1回复 待解决
HarmonyOS 自定义弹窗 (CustomDialog)问题
136浏览 • 1回复 待解决
自定义弹窗自定义转场动画
831浏览 • 1回复 待解决
HarmonyOS 自定义弹窗部分问题答疑
122浏览 • 1回复 待解决
HarmonyOS 希望优化自定义弹窗使用
152浏览 • 1回复 待解决
HarmonyOS 自定义弹窗选择
221浏览 • 1回复 待解决
如何在自定义弹窗中再次弹窗
2054浏览 • 1回复 待解决
HarmonyOS 全局自定义弹窗demo
153浏览 • 1回复 待解决
自定义装饰器的使用问题
628浏览 • 1回复 待解决
promptAction.openCustomDialog 自定义弹窗
208浏览 • 1回复 待解决
如何设置自定义弹窗位置
1892浏览 • 1回复 待解决
HarmonyOS 自定义弹窗遮罩未全屏
379浏览 • 1回复 待解决