CustomDialogController.open打开的弹窗被异常关闭
CustomDialogController.open打开的弹窗被异常关闭登录页隐私弹窗,点击跳转协议详情,再返回登录页,弹窗被关闭了,怎么让弹窗保持?
        HarmonyOS
      
        赞
        
 收藏 0
 回答 2
 
        待解决
        
相关问题
 HarmonyOS 自定义CustomDialogController弹窗不能关闭弹窗 
2631浏览  • 1回复 待解决
HarmonyOS  使用CustomDialogController时,如何禁止手势返回弹窗关闭? 
1371浏览  • 1回复 待解决
HarmonyOS  CustomDialogController 展示时,如何禁止左滑手势关闭弹窗 
1314浏览  • 1回复 待解决
HarmonyOS 自定义弹窗执行open多次会打开多个 
891浏览  • 1回复 待解决
弹窗打开、关闭动画是否支持自定义 
4025浏览  • 1回复 待解决
HarmonyOS 弹窗A内点击关闭A打开弹窗B后无法绘制新组件 
1020浏览  • 1回复 待解决
webview选择本地文件关闭文件打开方式弹窗后无法获取弹窗关闭事件 
9693浏览  • 4回复 待解决
HarmonyOS CustomDialogController自定义弹窗打开之后,没有阻断下面的手势响应,导致频繁触发打开弹窗操作 
1009浏览  • 1回复 待解决
HarmonyOS 关于CustomDialogController关闭的问题咨询 
1339浏览  • 1回复 待解决
HarmonyOS  怎么在页面退出时关闭所有页面内打开的弹窗 
1542浏览  • 1回复 待解决
HarmonyOS CustomDialogController弹窗创建问题 
1953浏览  • 1回复 待解决
半模态转场关闭弹窗重新打开时无需重新加载 
2227浏览  • 1回复 待解决
HarmonyOS 页面返回会把上个页面已经打开的弹窗关闭掉 
3060浏览  • 2回复 待解决
#鸿蒙通关秘籍#怎样关闭在鸿蒙中打开的自定义弹窗? 
1183浏览  • 1回复 待解决
HarmonyOS CustomDialogController无法在任意地方被拉起 
855浏览  • 1回复 待解决
HarmonyOS 使用CustomDialogController如何控制弹窗的宽度? 
1146浏览  • 1回复 待解决
HarmonyOS  弹窗封装后open不生效 
1430浏览  • 1回复 待解决
#鸿蒙通关秘籍# 使用ArkUI能力封装弹窗时,如何动态设置弹窗的打开与关闭动画效果? 
831浏览  • 0回复 待解决
HarmonyOS 元服务在调试阶段被关闭后,找不到入口重新打开 
2067浏览  • 1回复 待解决
HarmonyOS CustomDialogController如何弹出半屏弹窗 
1116浏览  • 1回复 待解决
HarmonyOS 弹窗异常问题 
1537浏览  • 1回复 待解决
自定义弹窗,如何查看当前弹窗的dialogcontroller的状态时open还是close 
1031浏览  • 1回复 待解决
HarmonyOS  如何先关闭键盘 再关闭弹窗 
1670浏览  • 1回复 待解决
HarmonyOS 弹窗显示异常 
999浏览  • 1回复 待解决





















遇到这种情况时,我们需要确保弹窗在导航动作(如从协议详情返回登录页)后保持打开状态。以下是一些可能的解决方案,根据你的技术栈和框架进行调整:
### 1. 使用全局或持久化状态管理
如果你使用的是一个现代的前端框架(如 React, Vue, Angular),可以考虑使用全局状态管理工具来管理弹窗的可见性。这种方式可以确保即使组件重新挂载,弹窗的状态也能被保留。
#### 示例(以 React + Redux 为例)
### 2. 路由守卫或钩子
某些框架提供了路由钩子或者守卫,可以在导航发生时控制弹窗的显示。
beforeRouteLeave 和beforeRouteEnter 钩子。useLocation 和useHistory,在useEffect 中控制弹窗状态。#### 示例(以 Vue 为例)
### 3. 使用模态过渡
确保弹窗作为独立于页面内容的模态层存在,使其不受路由变更的影响。
### 4. URL 参数或 Hash
通过URL参数或Hash值来表示弹窗的状态,这样在导航返回时,可以根据这些标记来判断是否应该显示弹窗。
#### 示例(使用 URL 参数)
选择合适的策略取决于你的具体项目结构和需求。常用的方法是结合使用状态管理和合适的生命周期钩子,确保弹窗在导航过程中的可见性控制。
可以使用Stack组件模拟实现Dialog的效果,页面跳转之后返回 可以做到 Dialog依然显示的效果。
demo如下所示: