Допис
Діліться своїми знаннями.
Як отримати значення з ObjectTable за допомогою динамічних полів?
dynamicFieldObject
Я намагаюся отримати значення з ObjectTable за допомогою динамічних полів з інтерфейсу, але стикаюся з помилкою. Помилка говоритьUnexpected arg String("gms") for the expected type Struct(MoveStructLayout...)
. Як я можу отримати правильний тип значення і уникнути цієї помилки?
- Move CLI
- Move
Відповіді
3Мабуть, оригінальному плакату вдалося вирішити їх проблему, використовуючи наведений приклад. Якщо ви уважно стежите за прикладом і переконаєтеся, що ідентифікатори та типи правильно відповідають вашим даним, він повинен працювати ідеально.
Ви можете отримати значення з 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
на фактичним батьківським ідентифікатором повинна допомогти досягти вашої мети.
Якщо ви зіткнулися з помилкоюdynamicFieldObject
, переконайтеся, що тип і значення відповідають очікуваним. Можливо, вам доведеться перевірити, що структура, яку ви передаєте, name
відповідає очікуваному макету. Крім того, використання getObject
має отримати деталі батьківського об'єкта, які можуть містити необхідний ідентифікатор, але переконатися, що він існує та на нього належним чином посилається.
Ви знаєте відповідь?
Будь ласка, увійдіть та поділіться нею.