HarmonyOS开发中使用router.getParams()遇到'Indexed access is not supported'错误?

新手上路,请多包涵

HarmonyOS开发使用router.getParams()获取数组数据报错:Indexed access is not supported for fields (arkts-no-props-by-index),请问如何修改呢
Index页:
calmodel.cal(nums)

router.pushUrl({
  url:'pages/resultPage',
  params:{
    dataSource: calmodel.getResults()
  }
})

resultPage页:
@State results:Array<string> = router.getParams()['dataSource']

image.png
image.png

阅读 1.5k
1 个回答

这个是语法错误,通过router.getParams()获取到是一个Object类型,并没有具体的类型,可以简单的用这个方法进行转换,然后获取对应的值:

  @State results:Array<string> = (router.getParams() as Record<string, Object>)['dataSource'] as Array<string>
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进