在我的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"
/>
此数据已在商店和记录道具中提供,但我不知道如何在选择中正确使用它。尝试像道具一样直接使用它会导致不同的错误,我认为thas很正常,因为我搞砸了redux和rest-admin的内部。
我尝试使用ReferenceInput并按照文档建议将SelectInput的选项留空,但是由于这几天的更改基于用户ID的变化,我找不到将此参数添加到新Resource的方法。 / p>
我正在使用静态管理,但计划在不久的将来升级到react-admin。
话虽如此,任何帮助将不胜感激。
干杯!
答案 0 :(得分:0)
这就是ReferenceInput的作用。您可以提供资源名称,如下所示:
import { ReferenceInput, SelectInput } from 'react-admin'
<ReferenceInput label="Post" source="post_id" reference="posts">
<SelectInput optionText="title" />
</ReferenceInput>