CustomDialog创建可以不在compent组件中吗?

想在通用http请求返回后(http工具类中),code="A"是弹出一个短信验证码弹出,我新建CustomDialogController并open(),但是弹窗不出现,请问要怎么操作并实现?在单个component页面中是可以弹出的。

HarmonyOS
2024-10-14 11:22:07
浏览
收藏 0
回答 1
待解决
回答 1
按赞同
/
按时间
put_get

CustomDialogController仅在作为@CustomDialog和@Component struct的成员变量,且在@Component struct内部定义时赋值才有效,建议使用promptAction.openCustomDialog接口,全局调用自定义弹窗,请参考下面代码:

let customDialogId: number = 0  
export function showCustomDialog() {  
  let result: CustomDialogController = new CustomDialogController({  
    builder: SimpleDialog({  
    }),  
    alignment: DialogAlignment.Bottom,  
    customStyle: true,  
    offset: {  
      dx: 0,  
      dy: CommonConstants.DY_OFFSET  
    }  
  })  
  result.open()  
}  
...  
  
onClick: () => {  
  promptAction.openCustomDialog({  
    builder:showCustomDialog.bind(this)  
  }).then((dialogId: number) => {  
    customDialogId = dialogId;  
  })  
}  
  
//确认/取消弹窗  
promptAction.closeCustomDialog(customDialogId)

可以使用promptAction.showDialog进行弹窗显示验证码,参考链接如下:https://developer.huawei.com/consumer/cn/doc/harmonyos-references-V5/js-apis-promptaction-V5#promptactionshowdialog

分享
微博
QQ
微信
回复
2024-10-14 17:36:13
相关问题
HarmonyOS可以在C代码创建子线程
2512浏览 • 1回复 待解决
可以以颜色创建pixelmap
233浏览 • 1回复 待解决
可以脱离页面创建web组件,指的是?
642浏览 • 1回复 待解决
这次mate40e不在升级鸿蒙系统之中
6381浏览 • 1回复 待解决
组件的事件可以传到父组件
523浏览 • 1回复 待解决
为何RichText组件内容可以滚动
1918浏览 • 1回复 待解决