关于NavPathStack的跳转问题

有一个场景,进入A页面后,点击返回需要进入B页面,实现是这样的:

//进入B页面 
DynamicsRouter.getInstance().push(RouterInfo.IDENTIFY_SELECT) 
// 500ms后退出A页面; 
//为什么要先进入B,而不是先退出A在进入B,因为如果这样的话,用户会很明显的感觉到A的退出和B的进入,会有页面动画重叠的问题; 
setTimeout(()=>{ 
  DynamicsRouter.getInstance().removeByName(RouterInfo.LOGIN.moduleName+"/"+RouterInfo.LOGIN.pageName,false) 
},500)

在未升级到5.0之前,以上代码是生效的;但是升级到5.0后,以上的代码执行后,会变成:点击退出A页面后,B进入,然后A又进入了,就感觉我调用removeByName A,变成了进入A,这是怎么回事。

removeByName实现如下:

public  removeByName(name:string, animated?: boolean): boolean { 
  try { 
    // 查找到对应的路由栈进行pop 
    let object = this.getNavPathStack().popToName(name,animated); 
    if(object==undefined){ 
      return false; 
    } 
    return true; 
  }catch (e){ 
    LogUtils.error(TAG,"pop  异常:"+e) 
  } 
  return false 
}
HarmonyOS
2024-08-10 13:30:20
浏览
收藏 0
回答 1
待解决
回答 1
按赞同
/
按时间
put_get

popToName是回退路由栈到由栈底开始第一个名为name的NavDestination页面,并不是删除路由,如果需要删除路由建议使用removeByName参考文档:https://developer.huawei.com/consumer/cn/doc/harmonyos-references-V5/ts-basic-components-navigation-V5#ZH-CN_TOPIC_0000001847049960__poptoname11

分享
微博
QQ
微信
回复
2024-08-10 17:54:19
相关问题
关于Intent跳转桌面问题
7427浏览 • 1回复 待解决
NavPathStack使用问题
1684浏览 • 1回复 待解决
HarmonyOS NavPathStack出栈问题
525浏览 • 1回复 待解决
arkts 关于异步问题
342浏览 • 1回复 待解决
Navigation页面跳转问题
471浏览 • 1回复 待解决
HarmonyOS 关于ColorFilter问题
430浏览 • 1回复 待解决
关于属性动画问题
10098浏览 • 3回复 待解决
HarmonyOS 关于taskpool问题
217浏览 • 1回复 待解决
HarmonyOS关于多线程问题
468浏览 • 1回复 待解决
关于 SO 文件使用问题
239浏览 • 1回复 待解决
关于鸿蒙module依赖问题
11549浏览 • 1回复 待解决
关于烧录时出现问题
10243浏览 • 2回复 待解决
HarmonyOS关于API使用问题
396浏览 • 1回复 待解决
关于DES加密设置问题
189浏览 • 1回复 待解决
HarmonyOS 关于PAG库问题
72浏览 • 1回复 待解决
关于敏感信息存储问题
224浏览 • 1回复 待解决
关于发布证书更新问题
345浏览 • 1回复 待解决
HarmonyOS 关于使用@BuilderParam问题
383浏览 • 1回复 待解决
关于Java UI Checkbox问题?
5831浏览 • 1回复 待解决