帖子

分享您的知识。

帖子

分享您的知识。

Britain.
Apr 07, 2025
专家问答

如何使用动态字段从对象表中获取值?

dynamicFieldObject我正在尝试使用前端的动态字段从ObjectTable中获取值,但是遇到了一个错误. 错误说Unexpected arg String("gms") for the expected type Struct(MoveStructLayout...). 我怎样才能获得正确的值类型并避免这个错误?

  • Move CLI
  • Move
0
3
分享
评论
.

答案

3
Theoremus.
Apr 7 2025, 18:58

显然,原始发帖人利用提供的示例设法解决了他们的问题. 如果您严格遵循该示例并确保 ID 和类型与您的数据正确对应,则它应该可以完美运行.

0
评论
.
YJS.
YJS94
Apr 8 2025, 07:36

您可以使用以下代码示例从 ObjectTable 中获取值:

const getTable = async () => {
  const res = await client.getDynamicFields({
    parentId: "YOUR_PARENT_ID_HERE",
  });

  res.data.forEach(async (df) => {
    console.log(df.name, df.objectId);
    const res = await client.getDynamicFieldObject({
      parentId: "YOUR_PARENT_ID_HERE",
      name: df.name,
    });

    let field = res.data?.content?.fields;

    console.log("DF read", field.name);
  });
};

YOUR_PARENT_ID_HERE用您的实际父母身份证替换应该有助于实现您的目标.

0
评论
.
farshad.
Apr 8 2025, 12:00

如果您遇到错误dynamicFieldObject,请确保类型和值符合预期. 你可能需要验证你传入的结构是否name符合预期的布局. 此外,使用getObject应检索父对象的详细信息,其中可能包括必需的 ID,但要确保其存在且被正确引用.

0
评论
.

你知道答案吗?

请登录并分享。

Move is an executable bytecode language used to implement custom transactions and smart contracts.

148帖子231答案
Sui.X.Peera.

赚取你的 1000 Sui 份额

获取声誉积分,并因帮助 Sui 社区成长而获得奖励。

我们使用 cookie 确保您在我们的网站上获得最佳体验。
更多信息