联系上休息ReferenceField不能正常呈现(Admin-on-Rest ReferenceF

2019-09-28 16:30发布

我不明白ReferenceField正常工作,因为它只会显示“的firstName”领域的进度条“纺”。

我可以成功地使用数据的例子,从https://jsonplaceholder.typicode.com/与simpleRest客户端,但不符合我自己的API终点的工作。 我看到GET_LIST请求 - 响应,然后与业主数据相关GET_MANY响应,但标记为“用户”的参考场不会呈现。

一个在API端点结构的差异是,在我的API返回的引用是完全合格的按照这个结构“资源:io.mydomain#”

但由于第二API调用发射了和返回数据似乎这并不重要。 在这一点上我需要一些指针下一步去哪里?

//App.js
const App = () => (
  <Admin dashboard={Dashboard} theme={getMuiTheme(darkBaseTheme)} title="Admin" authClient={authClient} restClient={restClient}>
      <Resource name="Asset" list={AssetList} label="Assets" />
      <Resource name="Owner" list={UserList}  label="Users"  />
      <Resource name="AssetTitle" list={AssetTitleList}  label="Ownership" />
 </Admin>

//users.js
 export const UserList = (props) => (
     <List title="All Users" {...props}>
         <Datagrid>
             <TextField source="id" />
             <TextField source="firstName" />
             <TextField source="lastName" />
             <TextField source="mobile" />
             <EmailField source="email" />
               <EditButton />
         </Datagrid>
     </List>
 );

 //titles.js
 export const AssetTitleList = (props) => (
     <List title="All Titles..." {...props}>
         <Datagrid>
           <TextField source="id" />
           <ReferenceField label="User" source="owner" reference="Owner" >
                          <TextField source="firstName" />
           </ReferenceField>
           <TextField source="information" />
         </Datagrid>
     </List>
 );

//AssetTitle API returns
[{"$class":"io.mydomain.AssetTitle",
"id":"12345",
"owner":"resource:io.mydomain.Owner#11111",
"asset":"resource:io.mydomain.Asset#991",
"information":""}]

//Owner API returns
[{"$class":"io.mydomain.Owner",
"firstName":"Joe",
"lastName":"Doe",
"email":"joe@doe.com",
"mobile":"",
"id":"11111"}]

Referencefield渲染的屏幕截图

Answer 1:

您可能需要清理在你从你的API返回的数据restClient

我看到owner的领域title资源是resource:io.mydomain.Owner#11111 。 然而, id的领域owner资源是11111

你必须实现自己的restClient和“干净”的所有已知的入侵检测系统,如owner字段,以便它们只包含ID。 见文档关于实现自己的REST客户端。



文章来源: Admin-on-Rest ReferenceField not rendering properly