【HarmonyOS NEXT】解决自定义Dialog跳转新页面返回后原Dialog关闭的问题
关键字:
自定义Dialog、Dialog消失、关闭、NEXT
1、问题描述
在开发鸿蒙应用的过程中,遇到了这样一个问题:有两个页面A和B,首先在页面A中有一个按钮,点击这个按钮会在页面A中弹出一个自定义的Dialog,在自定义的Dialog中也有一个按钮,点击这个按钮跳转到页面B,在页面B中按返回键返回到页面A中,此时,会发现页面A中之前弹出的自定义的Dialog消失不见了,实际上我们并没有手动去关闭它,我们希望的效果肯定是这个Dialog不会消失,那这个问题该如何解决呢?
2、解决方案
在经过一番思考和测试之后,得到了如下的两种解决方案。
方案1:可以使用Stack容器结合其它组件,使用UI组件模拟Dialog的效果,这里就不提供完整的代码了,简单使用伪代码示例如下:
方案2:在页面的onPageShow()这个生命周期方法中调用open()方法打开自定义的Dialog,这种方案提供一个完整的示例代码,如下所示:
自定义的Dialog,CustomDia:
页面A,即弹出Dialog的页面,DialogShowPage:
Index页面的代码就不提供了,不是本文的重点,通过上述代码就实现了自定义Dialog不消失的效果,最后一起来看一下实际效果吧:
OK,今天的内容就这么多,下期再会!