RA 新手。请放轻松。
我有一个带有两个选项卡的 tabbedshowlayout。两个选项卡都包含一个 ReferenceManyField:
<SimpleShowLayout>
<TabbedShowLayout>
<Tab label="Store(s)">
<ReferenceManyField label="Stores" reference="stores" target="data0">
<Datagrid optimized rowClick="show" >
<TextField source="name"/>
<TextField source="storeStatus"/>
<DateField source="updatedAt" locales="en-UK"/>
<EditButton/>
</Datagrid>
</ReferenceManyField>
</Tab>
<Tab label="Contact(s)">
<ReferenceManyField label="Contacts" reference="contacts" target="data1">
<Datagrid optimized>
<TextField source="id"/>
<TextField source="firstName"/>
<TextField source="lastName"/>
<TextField source="phone"/>
<BooleanField source="financeContact"/>
</Datagrid>
</ReferenceManyField>
</Tab>
</TabbedShowLayout>
</SimpleShowLayout>
The first ReferenceManyField's datagrid displays data as expected.
The second ReferenceManyField's datagrid displays the correct number of rows, but no data.
我看不出这两个对象的处理方式有什么不同。我应该补充一点,dataProvider 已经过全面测试,并且正在按要求提供数据。 有其他人遇到过这样的问题吗?
非常感谢所有提示和技巧。如果没有解决方案,则提示如何深入研究 RA...
答案 0 :(得分:0)
不是问题的解决方案,而是伴随上述工作示例的源代码: https://codesandbox.io/s/react-admin-referencemanyfield-issue-vghuj 再次重申:任何凭据都足以登录工作示例。
答案 1 :(得分:0)
您尚未为 stores 资源定义 <Resource>
。这是 <ReferenceManyField>
工作所必需的,as explained in the documentation:
注意:您必须为参考资源添加一个 <Resource>
- react-admin 需要它来获取参考数据。如果你想在侧边栏菜单中隐藏它,你可以省略这个参考中的 list 属性。
function App() {
return (
<Admin authProvider={authProvider} dataProvider={dataProvider}>
<Resource name="companies" {...companies} />
+ <Resource name="stores" />
</Admin>
);
}
顺便说一下,您在 <TabbedShowLayout>
中使用了 <SimpleShowLayout>
,这是不受支持的。