我正在使用react-admin处理从restAPI数据源获得的数据,这些数据可以根据需要进行自定义,我添加了仅包含list
和edit
的标准资源属性:
<Resource name="topic" edit={TopicsEdit} list={TopicsList} />
当我查看Chrome开发者工具的“网络”标签时,发现使用了正确的端点:
对于列表:
GET
请求http://api.loc/topic
并进行编辑:
GET
请求http://api.loc/topic/{{topic_id}}
到目前为止,一切正常。 当我尝试将编辑屏幕分为两个选项卡时,我的问题就开始了,其中一个将用于编辑主题(这很好用),另一个选项卡应使用来自不同端点的数据:
http://api.loc/topic/{{topic_id}}/modifiers
我的TopicsEdit
文件的代码:
<Show {...props}>
<TabbedShowLayout>
<Tab label='topic'>
<Edit {...props}>
<SimpleForm>
<TextInput source="id"/>
<TextInput source="title"/>
</SimpleForm>
</Edit>
</Tab>
<Tab label='modifiers' path='modifiers'>
<List {...props}>
<Datagrid>
<TextField source="id"/>
<TextField source="name"/>
</Datagrid>
</List>
</Tab>
</TabbedShowLayout>
</Show>
在topic
标签中,一切都如我之前提到的那样工作,但是当我切换到modifiers
标签时,我在网络开发工具中看到数据来自
http://api.loc/topic
代替
http://api.loc/topic/{{topic_id}}/modifiers
如何自定义修饰符选项卡将从中提取数据的URL?
我唯一发现的是使用<ReferenceInput>
,但是这里的问题是reference=""
属性只能从预定义的结构中获取信息,这意味着如果我使用{{1} },它尝试从以下位置获取数据:
reference="modifiers"
而不是所需的URL。