HarmonyOS 页面导航跳转回调传参问题
采用官方推荐的页面导航设计方案。
若从A页面使用NavPathStack.pushPath({ name: BrouterName, param: routerParam, onPop: routerOnPop })方法跳转到B页面,
再从B页面使用NavPathStack.pushPath({ name: CrouterName, param: routerParam, onPop: routerOnPop })方法跳转到C页面,
再从C页面调用NavPathStack.popToName(name: ArouterName, result: Object)返回A页面,此时A页面的onPop回调不会触发,那怎么拿到popToName传入的result呢?
HarmonyOS
赞
收藏 0
回答 1
相关问题
HarmonyOS 页面导航跳转回调问题
605浏览 • 1回复 待解决
HarmonyOS 页面跳转回调问题
458浏览 • 1回复 待解决
HarmonyOS 路由跳转回调问题
631浏览 • 1回复 待解决
HarmonyOS 页面传参问题
844浏览 • 1回复 待解决
HarmonyOS pageInfos.pushPath跳转页面传参问题
888浏览 • 1回复 待解决
JS跳转Java传参问题?
5308浏览 • 1回复 待解决
router跳转页面,传参用HashMap,获取参数失败
2136浏览 • 1回复 待解决
如何在navigation跳转页面时返回传参
2269浏览 • 1回复 待解决
HarmonyOS router跳转返回如何传参
331浏览 • 1回复 待解决
HarmonyOS 页面间如何传参?
1386浏览 • 1回复 待解决
HarmonyOS Web组件加载本地页面传参问题
834浏览 • 1回复 待解决
HarmonyOS 路由跳转获取跳转传参的方式
1504浏览 • 1回复 待解决
HarmonyOS 如何实现点击通知跳转app指定页面并传参
1117浏览 • 1回复 待解决
HarmonyOS 调用flutter页面并传参
316浏览 • 1回复 待解决
HarmonyOS 本地html传参问题
941浏览 • 1回复 待解决
HarmonyOS Navigation传参问题
442浏览 • 1回复 待解决
HarmonyOS 参数传参问题
513浏览 • 1回复 待解决
HarmonyOS router跳转新页面之后使用function作为参数,想在新页面进行回调但是传参到新页面丢失
392浏览 • 1回复 待解决
HarmonyOS 页面传参后对象出错
292浏览 • 1回复 待解决
HarmonyOS HTTP使用Map传参问题
512浏览 • 1回复 待解决
HarmonyOS @Builder Params传参问题
363浏览 • 1回复 待解决
HarmonyOS router传参获取问题
893浏览 • 1回复 待解决
HarmonyOS router.back方法的传参和返参问题
537浏览 • 1回复 待解决
HarmonyOS 页面内组件如何感知路由返回传参
373浏览 • 1回复 待解决
HarmonyOS 自动化测试传参问题
466浏览 • 1回复 待解决
此处onPop不触发,是因为在页面跳转时,传的回调函数,是对应页面的出栈的回调。如:A跳转B,此时定义的是B的出栈回调;B跳转C,此时定义的是C的出栈回调。如果此时在C页面直接popToName至A,是C出栈,调用C的出栈回调,方法是在B中执行。由于C直接返回A,B页面走的是清除,因此A页面没有触发B页面的出栈回调。
对于该问题,这里提供几个思路去解决:
1.如果页面使用的是router作为路由,可以使用router.back并指定页面同时添加返回带的参数,中间页面的历史都会被清除。
2.可以使用replacePathByName+removeByName替代popToName,中间页面使用removeByName清除,需要返回的页面使用replacePathByName 跳转并带参数。
3.可以使用popToName,并使用其他组件之间的传值方法,比如但不限于LocalStorage、自行传递方法或对象做数据处理。