自定义弹窗使用相关问题

自定义弹窗中使用@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
相关问题
使用自定义弹窗实现分享弹窗
600浏览 • 1回复 待解决
HarmonyOS 自定义dialog相关问题
0浏览 • 1回复 待解决
HarmonyOS 自定义弹窗CustomDialog问题
635浏览 • 1回复 待解决
HarmonyOS 自定义弹窗问题
728浏览 • 1回复 待解决
HarmonyOS 自定义弹窗控制问题
31浏览 • 1回复 待解决
HarmonyOS 自定义弹窗CustomDialog 问题
31浏览 • 1回复 待解决
HarmonyOS 自定义弹窗层级问题
47浏览 • 1回复 待解决
HarmonyOS 使用全局自定义弹窗
70浏览 • 1回复 待解决
自定义弹窗如何嵌套使用
1725浏览 • 1回复 待解决
HarmonyOS 自定义弹窗 (CustomDialog)问题
428浏览 • 1回复 待解决
HarmonyOS 自定义弹窗封装问题
41浏览 • 1回复 待解决
自定义弹窗自定义转场动画
1170浏览 • 1回复 待解决
HarmonyOS 自定义弹窗刷新问题
73浏览 • 1回复 待解决
HarmonyOS 自定义弹窗部分问题答疑
355浏览 • 1回复 待解决
HarmonyOS 自定义弹窗不能显示问题
53浏览 • 1回复 待解决
HarmonyOS 自定义弹窗点击跳转问题
17浏览 • 1回复 待解决
HarmonyOS 希望优化自定义弹窗使用
261浏览 • 1回复 待解决