HarmonyOS 在使用router.pushUrl({url: url, params: params})进行页面间传递数据时无法接收map类型参数

HarmonyOS
6h前
浏览
收藏 0
回答 1
待解决
回答 1
按赞同
/
按时间
put_get

router不支持map类型的数据传参,params中只能包含基础类型的数据.可以使用Record代替map

private routerParams : RouterParams = new RouterParams()
private param : Record<string, string> = {};
routePage() {
  try {
    this.param['vip_source'] = 'qww'
    this.routerParams.pageType = '11'
    this.routerParams.params = this.param
    this.routerParams.title = '新闻'
    router.pushUrl({
      url: 'pages/RouterA',
      params: this.routerParams
    })
  } catch (err) {
    console.info(` fail callback, code: ${err.code}, msg: ${err.msg}`)
  }
}

@State value:Record<string, Record<string,string>> = router.getParams() as Record<string, Record<string,string>>;

onPageShow() {
  console.log("hh2:" + this.value['title'])
  console.log("hh3:" + this.value['params']['vip_source'])
}
分享
微博
QQ
微信
回复
4h前
相关问题
router.pushUrl 无法使用Map类型参数
490浏览 • 1回复 待解决
router.pushUrl是否无法使用Map类型参数
753浏览 • 1回复 待解决
同一个HSP中,router.pushUrl中的url问题
382浏览 • 1回复 待解决
HarmonyOS router.pushUrl跳转报100002
565浏览 • 1回复 待解决
router路由中的params对象
316浏览 • 1回复 待解决
HarmonyOS router参数不能是map类型
284浏览 • 1回复 待解决
router.back中加入指定url无法返回
323浏览 • 1回复 待解决