HarmonyOS 鸿蒙Next 自定义CustomDialog 中点击跳转到另一个page,不会覆盖CustomDialog跳转,上个page 的dialog还在。

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

HarmonyOS 鸿蒙Next 自定义CustomDialog 中点击跳转到另一个page,不会覆盖CustomDialog跳转,上个page 的dialog还在。

在开发过程中,遇到自定义的CustomDialog中点击按钮跳转到另一个页面,通过pushUrl 跳转,不会覆盖CustomDialog跳转,而是在当前Page进行跳转,导致跳转到新Page时,上个Page的CustomDialog还存在!目前解决方案就是在dialog 中点击跳转时关闭dialog并记录状态,在onPageShow中重新根据状态,是否展示弹框。

7 回复
我目前是使用 NavDestination 来代替此类弹窗的,将mode设置成 NavDestinationMode.DIALOG.
楼主,解决了吗?

同问, dialog一直处于顶层怎么办,

第一页弹出的dialog, 在dialog视图中点按钮,跳转到第二个页面,此时第一个页面的弹出的对话框覆盖在了第二个页面上, 这种要怎么处理

你应该是nav方式的路由

期待HarmonyOS能继续优化多屏协同功能,让跨设备体验更加完美。

router方式也有 不过router的page可以利用生命周期进行隐藏显示 nav 就在一个page里面 连生命周期都不走了 怎么控制显示隐藏

在HarmonyOS中,自定义CustomDialog后跳转到另一个Page时,如果希望前一个页面的Dialog不再显示,通常需要在跳转前手动关闭该Dialog。确保在调用跳转方法之前,通过Dialog的关闭接口(如dismiss()cancel())来关闭它。这样可以确保在导航到新页面时,前一个页面的Dialog不再显示。

如果问题依旧没法解决请加我微信,我的微信是itying888。

回到顶部