HarmonyOS router.getParams\(\)清空问题?

LUBCH5Page中webUrl属性是通过router.getParams()或者NavDestination.onReady属性中的ctx.pathInfo.param获取

场景是先通过router.pushNamedRoute({ name: “LUBCH5Page”, params: { ‘webUrl’: url } })跳转到LUBCH5Page,又通过NavPathStack方式push一个新的LUBCH5Page,发现第二个页面先通过router方式获取了第一个页面的webUrl,又通过NavDestination.onReady获取了第二个页面的webUrl,请问在获取到params之后如何清空router和NavPathStack方式传递的param?

阅读 822
1 个回答

router中的param一个是侧滑返回的时候会清除,还有就是传递新的param的时候之前的会被替换,其他情况都不会被清除的

要清除NavDestination页面的参数param,可以使用pushPathByName方法将页面信息入栈,并传递空对象作为参数。具体步骤如下:

1.使用pushPathByName方法将页面信息入栈,传递空对象作为参数:

pushPathByName(name: string, param: undefined, animated?: boolean): void

2.这样可以将指定的NavDestination页面信息入栈,同时清除传递的参数

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进