#reactjs #react-admin
Вопрос:
В react-admin у меня есть следующий ReferenceArrayInput
-> > SelectArrayInput
компонент, как показано ниже:
<Create {...props}>
<SimpleForm>
<ReferenceArrayInput source="clients" reference="client">
<SelectArrayInput optionText="clientName" />
</ReferenceArrayInput>
</SimpleForm>
</Create>
Он работает, он получает данные из client
источника, и идентификатор отображает параметры с clientName
меткой.
Однако, когда форма отправлена, она отправляет на сервер следующий текст запроса:
{
"clients": [1,2,3]
{
Я хотел бы отправить его как:
{
"clients": [
{"id": 1},
{"id": 2},
{"id": 3}
]
}
Возможно ли это, установив какую-то определенную опцию, или я должен использовать другой компонент?
Ответ №1:
У вас есть два варианта для этого:
- Преобразуйте данные в своем поставщике данных
- Передайте функцию преобразования в
transform
опору вашегоCreate
Edit
компонента или.export const UserCreate = (props) => { const transform = (data) => ({ ...data, clients: data.clients.map((id) => ({ id })), }); return ( <Create {...props} transform={transform}> // Your inputs </Create> ); };
Комментарии:
1. Танск Гильдас, очень любезен!