HarmonyOS 使用Navigation,如何实现栈中指存在唯一的页面

页面跳转A->B(singletask)->C->D,如果从D发起跳转到B,能够达到的效果:

1.C、D页面出栈,会到B页面。

2.B 页面能够收到D页面传达的参数。

HarmonyOS
1天前
浏览
收藏 0
回答 1
待解决
回答 1
按赞同
/
按时间
superinsect

栈中指存在唯一的页面目前没有相关singletask,但是实现效果这里有个推荐方案:从D发起跳转到B,使用popToName回退到B,并通过popToName里面的回调函数触发B页面的onPop函数来获取D页面传递的参数,同时在里面通过getIndexByName获取B的Index,使用removeByIndexes把B之后的CD页面出栈。

可以在NavDestination上开接口设置一个回调,当其他任何一个页面回到这个页面时,把结果带给它。现在如果要实现,路由栈1-2-3-4,页面4.popToIndex(1)可以把页面4的一些数据带给页面1,可以在PoptoIndex(1)的时候,现获取1的的参数,比如叫param1,然后给param1赋值,比如 param1['result'] = xxx,这样回到页面1的时候就可以拿到这个结果。

分享
微博
QQ
微信
回复
1天前
相关问题
HarmonyOS 如何获取设备唯一标识?
316浏览 • 2回复 待解决
HarmonyOS 如何获取手机唯一 ID?
61浏览 • 2回复 待解决
HarmonyOS 如何获取设备唯一ID?
538浏览 • 0回复 待解决
如何获取设备唯一标识?
1926浏览 • 1回复 待解决
如何获取对象唯一标识(Hash值)
611浏览 • 1回复 待解决
如何HarmonyOS唯一标识设备
644浏览 • 1回复 待解决