Как я могу сериализовать форму, структура данных которой отличается от ее имени.
Например, у меня есть следующая форма, которая получает numberofItems
из объекта inventory
и отображается в TextArea.
<Form
enableReinitialize={true}
initialValues={{
numberofItems: inventories.numberofItems
}}
onSubmit={handleSubmit}
>
<FormItem
name={'numberofItems'}
label={'Current Stock'}
maxLength={32000}
>
{inputProps => <TextArea {...inputProps} />}
</FormItem>
</Form>
Это отлично работает при рендеринге формы. Но когда я пытаюсь опубликовать форму, ожидаемое свойство имеет значение null. Потому что служба ожидает inventories.numberofItems
там, где я отправляю numberofItems
, в соответствии с его именем.
Я могу избежать этого, передав объект в форму и извлекая каждое поле для управления.
<Form
enableReinitialize={true}
initialValues={{
inventories: inventories
}}
onSubmit={handleSubmit}
>
<FormItem
name={'inventories.numberofItems'}
label={'Current Stock'}
maxLength={32000}
>
{inputProps => <TextArea {...inputProps} />}
</FormItem>
</Form>
Но есть ли способ сериализовать элемент управления с ключом, отличным от его имени.
В моем случае я хочу сериализовать форму с помощью inventories.numberofItems
, сохраняя имя управление как numberofItems
.
<FormItem
name={'numberofItems'}
label={'Current Stock'}
maxLength={32000}
>
{inputProps => <TextArea {...inputProps} />}
</FormItem>