React Admin - FileInput, который загружает на один плоский ключ вместо объекта - PullRequest
0 голосов
/ 14 апреля 2020

В реакции администратора, если у вас есть FileInput, для него требуется дочернее поле и сохраняется URL-адрес файла внутри дочернего поля. Так, например,

{
  "photo": {
    "url": "https://url-to-image.com"
  }
}

и соответствующий код реагирования администратора:

<FileInput source='photo' label='Photo' placeholder={<p>Drop your image file here</p>}>
        <ImageField source='url' title='title' />
</FileInput>

Я хочу загрузить на один ключ с именем photoUrl вместо вложенного объекта photo.url, который будет выглядеть так:

{
  "photoUrl": "https://url-to-image.com"
}

Как я могу это сделать? Когда я опускаю ImageField, я получаю сообщение об ошибке, что ожидается единственный ребенок. Я попытался оставить source = "" пустым для поля изображения, но оно все равно выдает ошибку.

Есть идеи?

1 Ответ

0 голосов
/ 01 мая 2020

Попробуйте передать функции синтаксического анализа и форматирования в реквизиты FileInput

<FileInput 
    source='photoUrl' 
    label='Photo' 
    placeholder={<p>Drop your image file here</p>}
    parse={p => p.url}
    format={url => ({url})}
>
    <ImageField source='url' title='title' />
</FileInput>

https://marmelab.com/react-admin/Inputs.html#transforming -input-value-tofrom-record

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