HarmonyOS promptAction.openCustomDialog自定义弹窗在非UI类中调用问题
在非UI class中使用打开自定义弹窗
promptAction.openCustomDialog({
builder:
MyGlobalBuilderFunction()
,
onWillDismiss:(dismissDialogAction: DismissDialogAction) => {
console.info("reason" + JSON.stringify(dismissDialogAction.reason))
console.log("dialog onWillDismiss")
if (dismissDialogAction.reason == DismissReason.PRESS_BACK) {
dismissDialogAction.dismiss()
}
if (dismissDialogAction.reason == DismissReason.TOUCH_OUTSIDE) {
dismissDialogAction.dismiss()
}
}
}).then((dialogId: number) => {
console.log('')
})
@Builder function MyGlobalBuilderFunction() {
Column() {
Text('弹窗').fontSize(30)
Row({ space: 50 }) {
Button("确认").onClick(() => {
// promptAction.closeCustomDialog(0)
// this.controller.open();
})
Button("取消").onClick(() => {
// promptAction.closeCustomDialog(1)
})
}
}.height(200).padding(5).justifyContent(FlexAlign.SpaceBetween)
}
报错:Cannot read property observeComponentCreation2 of undefined
问题和这个链接一样。
https://developer.huawei.com/consumer/cn/forum/topic/0203154980839972156
HarmonyOS
赞
收藏 0
回答 1
待解决
相关问题
promptAction.openCustomDialog 自定义弹窗
445浏览 • 1回复 待解决
实现promptAction.openCustomDialog接口,全局调用自定义弹窗打开
1841浏览 • 1回复 待解决
HarmonyOS 如何在 promptAction.openCustomDialog 自定义弹窗中实现动画?
152浏览 • 1回复 待解决
HarmonyOS promptAction.openCustomDialog 自定义宽度&圆角
632浏览 • 1回复 待解决
promptAction.openCustomDialog 全局弹窗
630浏览 • 1回复 待解决
HarmonyOS 使用promptAction.openCustomDialog创建自定义弹窗builder怎么传参
524浏览 • 1回复 待解决
HarmonyOS 全局自定义弹窗promptAction.openCustomDialog必须在page中是使用吗?
419浏览 • 1回复 待解决
HarmonyOS 使用全局弹窗api问题promptAction.openCustomDialog
16浏览 • 1回复 待解决
HarmonyOS 怎么使用promptAction.openCustomDialog在全局自定义一个组件
147浏览 • 1回复 待解决
HarmonyOS promptAction.openCustomDialog外部代理UI实现问题
244浏览 • 1回复 待解决
HarmonyOS promptAction.openCustomDialog问题
23浏览 • 1回复 待解决
HarmonyOS 关于promptAction.openCustomDialog创建弹窗的问题
128浏览 • 1回复 待解决
HarmonyOS promptAction.openCustomDialog相关问题咨询
165浏览 • 1回复 待解决
HarmonyOS 关于封装promptAction.openCustomDialog问题
131浏览 • 1回复 待解决
HarmonyOS promptAction.openCustomDialog的绑定问题
695浏览 • 1回复 待解决
HarmonyOS promptAction.openCustomDialog可以在class中的工具类中使用吗
200浏览 • 1回复 待解决
HarmonyOS promptAction.openCustomDialog的自定义Dialog怎么实现状态变化
106浏览 • 1回复 待解决
HarmonyOS 在ArkTS类中想调用自定义弹窗
30浏览 • 1回复 待解决
HarmonyOS promptAction.openCustomDialog弹窗一直存在
233浏览 • 1回复 待解决
HarmonyOS promptAction.openCustomDialog 弹窗如何宽度设置全屏宽?
315浏览 • 1回复 待解决
HarmonyOS 使用promptAction.opencustomdialog怎么自定义半透明背景的颜色、控制关闭
104浏览 • 1回复 待解决
HarmonyOS promptAction.openCustomDialog支持选择关闭弹窗方式吗?
614浏览 • 1回复 待解决
HarmonyOS 封装全局 promptAction.openCustomDialog
155浏览 • 1回复 待解决
使用promptAction.openCustomDialog自定义弹窗,参考文档:
https://developer.huawei.com/consumer/cn/doc/harmonyos-references-V5/js-apis-promptaction-V5#promptactionopencustomdialog11
其中需要传入的参数类型为CustomDialogOptions,参考文档:
https://developer.huawei.com/consumer/cn/doc/harmonyos-references-V5/js-apis-promptaction-V5#customdialogoptions11
其中build的类型为CustomBuilder,其为用户生成的自定义组件,参考文档:
https://developer.huawei.com/consumer/cn/doc/harmonyos-references-V5/ts-types-V5#custombuilder8
参考@Builder装饰的的文档可知,自定义构建函数分为 自定义组件内自定义构建函数 和 全局自定义构建函数,参考文档:
https://developer.huawei.com/consumer/cn/doc/harmonyos-guides-V5/arkts-builderparam-V5#装饰器使用说明
综合以上信息可知,promptAction.openCustomDialog打开的自定义弹窗的构建函数,只能是用户自定义组件内自定义的构建函数,如果您想使用全局自定义构建函数,可以在组件内的构造函数中引用全局构造函数,您可以参考 promptAction.openCustomDialog 文档给出的第二个示例:
https://developer.huawei.com/consumer/cn/doc/harmonyos-references-V5/js-apis-promptaction-V5#promptactionopencustomdialog11