HarmonyOS 鸿蒙Next 对话框不消失问题

发布于 1周前 作者 eggper 来自 鸿蒙OS

HarmonyOS 鸿蒙Next 对话框不消失问题 使用自定义对话框展示隐私协议对话框

this.privacyDlgId = await promptAction.openCustomDialog({
  builder: () => this.privacyDialogComponent(),
  alignment: DialogAlignment.Center,
  width: 300,
  autoCancel: false,
  onWillDismiss: (dismissDialogAction: DismissDialogAction) => {
    if (dismissDialogAction.reason == DismissReason.PRESS_BACK) {
    }
    if (dismissDialogAction.reason == DismissReason.TOUCH_OUTSIDE) {
    }
  }
})

点击自定义对话框内容里的“用户协议”后router.pushUrl方式跳转到web页面,可是跳转到新的页面,这个对话框没有被盖住,而是依旧显示在最顶层,请问这个该如何设置,需要对话框只针对单个页面有效,新的页面覆盖其他页面的对话框呢?


更多关于HarmonyOS 鸿蒙Next 对话框不消失问题的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html

2 回复

在以前的版本会自动关闭弹窗,从5.0.0.17版本(api12)后弹窗规格变化不会自动关闭,使用router切换时始终展示在最上层。

规格说明:dialog在页面路由跳转时关闭行为变更

开发者需要手动调用close方法在跳转时关闭弹窗,返回后重新拉起

更多关于HarmonyOS 鸿蒙Next 对话框不消失问题的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html


针对HarmonyOS 鸿蒙Next对话框不消失的问题,可能的原因及解决方案如下:

原因一:对话框未被正确关闭

在鸿蒙系统中,对话框的关闭通常依赖于特定的逻辑处理。如果对话框的关闭事件未被触发或处理不当,对话框将不会消失。请检查对话框的关闭逻辑,确保在用户进行相应操作(如点击按钮)后,对话框能够被正确关闭。

原因二:对话框属性设置不当

对话框的属性设置可能影响到其显示与隐藏。例如,如果对话框被设置为模态对话框且未设置适当的关闭条件,它可能会一直显示。请检查对话框的属性设置,确保它们符合您的需求。

原因三:系统或应用异常

在某些情况下,系统或应用的异常可能导致对话框无法正常关闭。这可能是由于内存泄漏、资源未正确释放或其他系统级问题导致的。请尝试重启应用或设备,查看问题是否得到解决。

如果以上方法均未能解决您的问题,可能是由于更复杂的系统或应用逻辑导致的。此时,建议您深入检查代码逻辑,或寻求专业的鸿蒙系统开发者支持。

如果问题依旧没法解决请联系官网客服,官网地址是:https://www.itying.com/category-93-b0.html

回到顶部