在 HarmonyOS 开发中,FormLink 的 params 可以传复杂对象吗?我想传一个数组但好像不行?

我在写一个静态卡片,用 FormLink 的 params 想传一个数组对象给主应用,结果发现主应用拿到的是 [object Object],不是我预期的数组内容,示例代码如下:

FormLink({
  action: "message",
  abilityName: "EntryAbility",
  params: {
    list: [1, 2, 3]
  }
}) {
  Button("传数组")
}

请问 params 只能传字符串吗?那如果我想传对象或数组要怎么做?

阅读 273
1 个回答

据我所知,FormLink 的 params 是以 JSON 对象形式传递的,但在实际底层传输过程中,推荐只传递简单键值对(string/number/boolean),避免嵌套结构。

数组或对象虽然可以写进去,但在目标应用接收到时可能变成字符串化后的内容,导致无法直接使用。

试试将数组或对象转成 JSON 字符串:

params: {
  list: JSON.stringify([1, 2, 3])
}
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进