React-Admin: как мне обработать источник ввода в списке объектов - PullRequest
0 голосов
/ 23 апреля 2020

В react-admin у меня есть input, источником которого является список объектов.

<CheckboxGroupInput  source="binded_cameras" choices={choices}/>

Список binded_cameras выглядит следующим образом:

"binded_cameras": [
    {
       "id": 1,
       "name": "Cam 1",
       "url": "dummyurl.com"
    },
    {
       "id": 4,
       "name": "Cam 2",
       "url": "dummyurl.com"
     }
]

I я пытаюсь получить только список id, чтобы иметь дело с. Я попытался binded_cameras.id, но, конечно, это не сработало. Как мне манипулировать этим списком объектов и генерировать только список идентификаторов?

1 Ответ

1 голос
/ 02 мая 2020

Поскольку React-admin использует response-final-form, вы можете использовать функции parse () и format () для преобразования входного значения при сохранении и загрузке из записи, просто передайте их в качестве реквизитов для Input, в этом case CheckboxGroupInput:

Mnemoni c для двух функций:

parse (): вход -> запись

формат (): запись -> ввод

<CheckboxGroupInput 
    source="binded_cameras" 
    choices={choices}
    parse={ids => ids.map(id => ({id}))}
    format={bindedCameras => bindedCameras.map(b => b.id)}
/>

https://marmelab.com/react-admin/Inputs.html#transforming -входное-значение-из-записи

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...