По умолчанию для первой записи, возвращенной из ReferenceInput в selectInput

#react-admin

#реагировать-администратор

Вопрос:

Пожалуйста, как я могу инициализировать selectinput для первой записи, возвращенной ReferenceInput?

Например, person resource возвращает это

 persons: [
  {"id":1,"name":"John"},
  {"id":2,"name":"Peter"},
  {"id":3,"name":"Paul"}
]
 

Я хочу, чтобы selectinput по умолчанию указывал, что John является первой записью из ресурса persons

Я видел похожий пост, где кто-то сказал, что можно использовать свойство defaultValue для selectInput, но у меня это не сработало.

Спасибо

Смотрите код ниже:

 <ReferenceInput
  label="RDM/WDM"
  source="salesmgr"
  reference="persons"
  sort={{ field: 'id', order: 'ASC' }}                   
>
    <SelectInput optionText="name"/>
</ReferenceInput> 
 

Комментарии:

1. Полосатый, пожалуйста, у вас есть решение для этого. Сначала я думал, что ответ Мигеля был правильным, но я только что протестировал, и это не так. Спасибо

2. Кажется, вы не можете «заполнить» дочерние варианты ReferenceInputs, такие как AutocompleteArrayInput или SelectInput . Я думаю, что единственный способ ее архивировать — это написать очень настраиваемые компоненты, извлекающие данные и отображающие их со своей собственной логикой из ReferenceInput .

Ответ №1:

Добавьте свойство defaultValue в ReferenceInput следующим образом:

 <ReferenceInput
  label="RDM/WDM"
  source="salesmgr"
  reference="persons"
  sort={{ field: 'id', order: 'ASC' }}
  defaultValue={1}             
>
   <SelectInput optionText="name"/>
</ReferenceInput> 
 

Комментарии:

1. Извините, это не было решено. Мне все еще нужна помощь здесь. В решении Мигеля по умолчанию используется идентификатор, равный 1. Когда ReferenceInput отображает свою запись, невозможно узнать значение идентификатора во время выполнения.

2. Привет, Мигель, извините, это не было решено. Ваше решение предполагает, что возвращаемая запись будет иметь id=1, но нет способа узнать значения идентификатора во время выполнения из referenceinput