在我的App组件中,我有一个带有编辑组件的订阅资源:
<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` },
],
}
我需要做的是使用daysAvailable数组为选项添加另一个SelectInput,以便为“selectedDay”选择日期。
<SelectInput
source="selectedDay"
choices={NEED TO ADD daysAvailable HERE!}
label="Select an available day"
/>
这些数据已经在商店和记录属性中可用,但我不知道如何在选择中正确使用它。尝试像道具一样直接使用它会导致不同的错误,我认为这是正常的,因为我正在扰乱redux和admin-on-rest的内部。
按照文档的建议,我尝试使用ReferenceInput并将SelectInput的选项保留为空,但是由于此日期列表根据用户的ID而变化,因此我找不到一种方法将此参数添加到新的资源中。
我正在使用admin-on-rest,但计划在不久的将来升级到react-admin,如果这是相关的话。
也就是说,任何帮助都将不胜感激。
干杯!
发布于 2018-09-28 03:28:06
这就是ReferenceInput的用途。您可以提供资源的名称,如下所示:
import { ReferenceInput, SelectInput } from 'react-admin'
<ReferenceInput label="Post" source="post_id" reference="posts">
<SelectInput optionText="title" />
</ReferenceInput>
https://stackoverflow.com/questions/51073910
复制相似问题