Move.

Beitrag

Teile dein Wissen.

Britain.
Apr 07, 2025
Experten Q&A

Wie rufe ich Werte aus ObjectTable mit dynamischen Feldern ab?

dynamicFieldObjectIch versuche, Werte aus einer ObjectTable mithilfe dynamischer Felder vom Frontend abzurufen, aber ich stoße auf einen Fehler mit. Unexpected arg String("gms") for the expected type Struct(MoveStructLayout...)Der Fehler sagt. Wie kann ich den richtigen Typ für den Wert ermitteln und diesen Fehler vermeiden?

  • Move CLI
  • Move
0
3
Teilen
Kommentare
.

Antworten

3
Theoremus.
Apr 7 2025, 18:58

Offenbar ist es dem Originalposter gelungen, sein Problem anhand des bereitgestellten Beispiels zu lösen. Wenn Sie das Beispiel genau befolgen und sicherstellen, dass die IDs und Typen Ihren Daten entsprechen, sollte es einwandfrei funktionieren.

0
Kommentare
.
YJS.
YJS94
Apr 8 2025, 07:36

Sie können die Werte mithilfe des folgenden Codebeispiels aus einer ObjectTable abrufen:

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);
  });
};

Das YOUR_PARENT_ID_HEREErsetzen durch Ihren tatsächlichen Elternausweis sollte Ihnen helfen, Ihr Ziel zu erreichen.

0
Kommentare
.
farshad.
Apr 8 2025, 12:00

Wenn bei Ihnen ein Fehler auftrittdynamicFieldObject, stellen Sie sicher, dass Typ und Wert den Erwartungen entsprechen. Möglicherweise müssen Sie überprüfen, ob die Struktur, die Sie übergeben, namedem erwarteten Layout entspricht. Darüber hinaus getObjectsollten Sie bei der Verwendung die Details des übergeordneten Objekts abrufen, die möglicherweise die erforderliche ID enthalten. Stellen Sie jedoch sicher, dass sie existiert und ordnungsgemäß referenziert wird.

0
Kommentare
.

Weißt du die Antwort?

Bitte melde dich an und teile sie.

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

148Beiträge231Antworten
Sui.X.Peera.

Verdiene deinen Anteil an 1000 Sui

Sammle Reputationspunkte und erhalte Belohnungen für deine Hilfe beim Wachstum der Sui-Community.

BelohnungskampagneJuni
    Wir verwenden Cookies, um sicherzustellen, dass Sie die beste Erfahrung auf unserer Website haben.
    Mehr Infos