HarmonyOS鸿蒙Next中Navigation子页面pop回到根页面时,根页面如何获取子页面pop回来的参数
HarmonyOS鸿蒙Next中Navigation子页面pop回到根页面时,根页面如何获取子页面pop回来的参数 目前官方提供的NavPathStack api只能在子页面中获取对应的参数,根页面既没有name也没有index无法获取到子页面返回到根页面的参数
可以通过在根页面用pushDestinationByName
进行传参,子页面可以用pop
传给根页面
pushDestinationByName
参考文档:https://developer.huawei.com/consumer/cn/doc/harmonyos-references-V5/ts-basic-components-navigation-V5#pushdestinationbyname11-1
更多关于HarmonyOS鸿蒙Next中Navigation子页面pop回到根页面时,根页面如何获取子页面pop回来的参数的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html
在HarmonyOS鸿蒙Next中,当通过Navigation
从子页面pop回到根页面时,根页面可以通过PageAbility
的onPageShow
生命周期方法来获取子页面传递回来的参数。子页面在pop时,可以使用Result
对象将数据传递回根页面。具体步骤如下:
-
在子页面中,使用
Result
对象设置返回的参数:let result = new Result(); result.setResult({ key: 'value' }); this.context.terminateSelf(result);
-
在根页面的
PageAbility
中,重写onPageShow
方法,通过getResult
获取子页面返回的参数:onPageShow() { let result = this.context.getResult(); if (result) { let params = result.getResult(); console.log('Received params:', params); } }
通过这种方式,根页面可以在子页面pop时获取到传递回来的参数。
在HarmonyOS鸿蒙Next中,当子页面通过pop
操作返回到根页面时,可以使用AbilityContext
的onResult
方法来接收子页面返回的参数。具体步骤如下:
-
子页面设置返回参数:在子页面中,使用
setResult
方法设置返回的参数,然后调用terminateSelf
结束子页面。 -
根页面重写
onResult
方法:在根页面的onResult
方法中接收子页面返回的参数,并进行处理。
示例代码:
// 子页面
Intent intent = new Intent();
intent.setParam("key", "value");
setResult(RESULT_OK, intent);
terminateSelf();
// 根页面
@Override
protected void onResult(int requestCode, Intent resultData) {
if (resultData != null) {
String value = resultData.getStringParam("key");
// 处理返回的参数
}
}
通过这种方式,根页面可以获取子页面pop
返回的参数。