HarmonyOS 全局自定义弹窗promptAction.openCustomDialog必须在page中是使用吗?

目前测试将promptAction.openCustomDialog封装到类方法里,通过page的点击事件触发后会直接闪退。示例代码:

page页面:

Text('全局弹窗')  
    .margin({ left: 5 })  
    .fontColor('#007DFF')  
    .onClick(() => {  
        new DialogUtils().testOpen()  
     })  
testOpen(){  
    promptAction.openCustomDialog({  
      builder: customDialogBuilder.bind(this),  
      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) => {  
    })  
  }  
@Builder  
export function customDialogBuilder() {  
  Column() {  
    Text('Custom dialog Message').fontSize(10)  
    Row() {  
      Button("确认").onClick(() => {  
        promptAction.closeCustomDialog(customDialogId)  
      })  
      Blank().width(50)  
      Button("取消").onClick(() => {  
        promptAction.closeCustomDialog(customDialogId)  
      })  
    }  
  }.height(200).padding(5)  
}
HarmonyOS
2024-10-10 12:04:27
浏览
收藏 0
回答 1
待解决
回答 1
按赞同
/
按时间
superinsect
分享
微博
QQ
微信
回复
2024-10-10 18:02:19
相关问题
promptAction.openCustomDialog 自定义弹窗
473浏览 • 1回复 待解决
promptAction.openCustomDialog 全局弹窗
683浏览 • 1回复 待解决
HarmonyOS promptAction.openCustomDialog问题
51浏览 • 1回复 待解决
HarmonyOS 使用全局自定义弹窗
185浏览 • 1回复 待解决