HarmonyOS 页面跳转回调问题

我们现在有一个页面A,点击列表会调用class工具类的方法,然后会在class中跳转新页面B然后B页面处理后会回调数据,现在跳转用的router.push,看文档返回携带参数需要在onPageShow()获取,class中无法实现,想咨询下这种有实现方案么?我看到有Navigation组件提供的跳转onPop回调,router也有传递callback的异步回调异常,我可以自己去实现这种传递回调函数么?

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

this.pageInfo.pushDestinationByName可以@Entry装饰的组件中使用

@Entry
@Component
export struct Index {}


this.pageInfo.pushDestinationByName('pageOne', tmp, (popInfo)=>{
  console.log('popInfo:',JSON.stringify(popInfo))
}).catch((error: BusinessError)=>{
  console.error(`[pushDestinationByName]failed, error code = ${error.code}, error.message = ${error.message}.`);
}).then(()=>{
  console.error('[pushDestinationByName]success.');
});

Navigation的push方法中popInfo是返回的new resultClass(1)数据

使用Navigation在onPop中传递参数到工具中

可以参考以下代码:

export const statusBarFunc = (popInfo: object) => {
  console.log('popInfo:',popInfo)
  //执行回调业务
}

onPageShow(): void {
  this.pageInfo.pushDestinationByName('pageOne', {} , (popInfo)=>{
  statusBarFunc(popInfo)
  console.log('输出:popInfo',JSON.stringify(popInfo))
}).catch((error: BusinessError)=>{
  console.error(`[pushDestinationByName]failed, error code = ${error.code}, error.message = ${error.message}.`);
}).then(()=>{
  console.error('[pushDestinationByName]success.');
});
}
分享
微博
QQ
微信
回复
1天前
相关问题
HarmonyOS 页面导航跳转回问题
34浏览 • 1回复 待解决
HarmonyOS 页面导航跳转回传参问题
1089浏览 • 0回复 待解决
HarmonyOS 路由跳转回问题
385浏览 • 1回复 待解决
HarmonyOS 跳转页面问题
425浏览 • 1回复 待解决
HarmonyOS CustomDialog跳转其他页面问题
47浏览 • 1回复 待解决
HarmonyOS Navigation动态跳转页面问题
38浏览 • 1回复 待解决
HarmonyOS 页面跳转刷新问题
959浏览 • 1回复 待解决
Navigation页面跳转问题
488浏览 • 1回复 待解决
HarmonyOS 子窗口跳转页面的返回问题
306浏览 • 1回复 待解决
HarmonyOS 登录页面跳转
67浏览 • 1回复 待解决
HarmonyOS Int8Array如何转回ArrayBuffer
24浏览 • 1回复 待解决
HarmonyOS 页面跳转动画
226浏览 • 1回复 待解决
HarmonyOS 跨模块页面跳转
30浏览 • 1回复 待解决