HarmonyOS popToName 时,祖先页面无法获取到result 参数返回的数据,只有父页面能获取

A页面通过pushPathByName(name, param, onPop, animated),跳转到B页面,B页面在通过pushPathByName(name, param, animated)跳到C页面,在C页面通过popToName(name, result, animated)直接返回到A页面,此时A页面的onPop不会掉用。这个就是这样设计的还是bug?

请问上述情况,如何从A直接回到C,如何获取C返回的数据?

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

此处onPop不触发,是因为在页面跳转时,传的回调函数,是对应页面的出栈的回调。

如:A跳转B,此时定义的是B的出栈回调;B跳转C,此时定义的是C的出栈回调。如果此时在C页面直接popToName至A,是C出栈,调用C的出栈回调,方法是在B中执行。由于C直接返回A,B页面走的是清除,因此A页面没有触发B页面的出栈回调。

对于该问题,这里提供几个思路去解决:

1.可以使用replacePathByName+removeByName替代popToName,中间页面使用removeByName清除,需要返回的页面使用replacePathByName 跳转并带参数。

2.您可以使用popToName,并使用其他组件之间的传值方法,比如但不限于LocalStorage、自行传递方法或对象做数据处理。

分享
微博
QQ
微信
回复
2天前
相关问题
HarmonyOS webview加载页面无法显示
962浏览 • 1回复 待解决
HarmonyOS 如何获取到页面堆栈对象
215浏览 • 1回复 待解决
HarmonyOS 列表多选页面无法刷新
169浏览 • 1回复 待解决
HarmonyOS hap跳hsp页面无法跳转
258浏览 • 1回复 待解决
HarmonyOS 分屏模式下页面无法滑动
23浏览 • 1回复 待解决
HarmonyOS scroll嵌套list页面无法滑动
258浏览 • 1回复 待解决
HarmonyOS Har静态包内部页面无法跳转
716浏览 • 1回复 待解决
有没有接口获取到组件宽度
1069浏览 • 1回复 待解决
关于 onArrange中获取到参数问题
5082浏览 • 1回复 待解决