В моем компоненте приложения у меня есть ресурс подписок с компонентом редактирования:
<Resource name="subscriptions" list={SubscriptionList} edit={SubscriptionEdit} />
SubscriptionEdit выглядит примерно так:
export const SubscriptionEdit = props => (
<Edit title={<SubscriptionTitle />} {...props}>
<TabbedForm >
<FormTab label="Info">
...
<SelectInput
source="typeSubscription"
choices={[
{ id: 'monthly', name: 'Monthly' },
{ id: 'anual', name: 'Anual' },
]}
label="Subscription plan"
/>
</FormTab>
</TabbedForm>
</Edit>
);
А данные, извлекаемые из конечной точки при входе в это представление, представляют собой JSON, подобный этому:
{
id: 1,
typeSubscription: null,
selectedDay: null,
daysAvailable: [
{ id: '07-01-2018', name: 'First day` },
{ id: '07-03-2018', name: 'Second day` },
{ id: '07-07-2018', name: 'Third day` },
{ id: '07-08-2018', name: 'Fourth day` },
],
}
Что мне нужно сделать, это добавить еще один SelectInput с использованием массива daysAvailable для выбора, чтобы выбрать день для selectedDay.
<SelectInput
source="selectedDay"
choices={NEED TO ADD daysAvailable HERE!}
label="Select an available day"
/>
Эти данные уже доступны в магазине и в реквизите записи, но я не могу понять, как правильно использовать их при выборе. Попытка использовать его напрямую, как реквизит, приводит к различным ошибкам, и я думаю, что это нормально, потому что я возиться с внутренностями приставок и администратора на отдыхе.
Я попытался использовать ReferenceInput и оставить выбор для SelectInput пустым, как предлагалось в документации, но, поскольку этот список дней изменяется в зависимости от идентификатора пользователя, я не смог найти способ добавить этот параметр в новый ресурс.
Я использую admin-on-rest, но планирую в ближайшем будущем перейти на response-admin, если это уместно.
Тем не менее, любая помощь будет оценена.
Ура!