React-admin SelectInput не показывает значение в Edit, используя вместе с вариантами выбора - PullRequest
1 голос
/ 13 марта 2019

У меня есть поле состояния, полученное из моего API. Он имеет значение между 0-3.

мой ответ выглядит так:

{ status: 0 }

Я могу показать значение в Edit с TextInput, оно показывает значение (в данном случае 0).

Однако я хочу, чтобы он отображался с помощью SelectInput, так как в режиме редактирования я хочу изменить значение статуса.

мой SelectInput выглядит так:

          <SelectInput label="Status" source="status" choices={[
                       { id: '0', name: 'elfogadásra vár' },
                       { id: '1', name: 'aktív' },
                       { id: '2', name: 'inaktív' },
                       { id: '3', name: 'archív' },
                       ]} 
                       optionText="name" 
                       optionValue="id" 
          />

К сожалению, когда я сохраняю это и обновляю свою страницу, мой Статус не показывает текущее значение (в данном случае это 0, оно должно показывать мне 'elfogadasra var', но оно пустое)

Что я делаю не так?

1 Ответ

0 голосов
/ 14 марта 2019

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

<ReferenceInput label="Country" source='country.id' reference="Country"  sort={{ field: 'name', order: 'ASC' }} alwaysOn>
   <SelectInput optionText="name" optionValue="id" allowEmpty />
</ReferenceInput>

Мне нужно было загрузить свой выбор из этой базы данных, хотя, однако, концепция та же самая ... я подозреваю, что вы используете для источниканеправильно .. Посмотрите в инструментах редукционного устройства .. в состоянии -> форма -> запись-форма -> значения, и вы должны увидеть что-то вроде status.id, который вы должны использовать вместо источника .. У меня естьтот же тип объекта в моей форме страны {id: 2} ... но это не то, что вы используете, чтобы получить ввод, чтобы показать ваше существующее значение ...

Ваше решение может быть так же просто, как вызовзначение diff в источнике, но вы будете знать, что это должно быть, посмотрев в состояние {status: 0} должно иметь что-то перед ним в состоянии вроде чего-то -> {status: 0}

...