我正在使用Marmelab的admin-on-rest在数据网格中显示用户ID,firstNames,lastNames(来自名为user的json对象)和任务名称(来自名为workflow的json对象)的列表。我知道我必须使用admin-on-rest的参考字段但是,由于“工作流”对象的结构,我不得不尝试获取显示的任务名称列表。目前正在使用JSON服务器来复制Backend团队的API。
以下是工作流对象的示例
"Workflow": [
{
"id": "1",
"name": "Example Workflow 1",
"description": "dolor enim pariatur qui consequat",
"tasks": [
{
"id": "1",
"name": "1st Example Task from Workflow 1",
"descriptions": [
{
"viewer": "sunt",
"instructions": "ex"
}
],
"viewers": "manager"
},
{
"id": "2",
"name": "2nd Example Task from Workflow 1",
"descriptions": [
{
"viewer": "pariatur qui dolore",
"instructions": "voluptate laboris dolore ex laborum"
}
],
"viewers": "manager"
}
]
}
用户对象
"user": [
{
"id": "1",
"firstName": "Mary",
"lastName": "Bloody",
"email": "mary.bloody@example.org",
"phone": "989-456-2229",
"type": "employee",
"manager": "132B5FBE238448B58675DDD7E471D9C6",
"employees": [],
"workflow": "1",
"tasks": [
"1",
"2"
]
}
这是我的列表组件
export const WorkflowList = (props) => (
<List {...props}>
<Datagrid>
<TextField label ="User Id" source="id" />
<TextField source="firstName" />
<TextField source="lastName" />
<ReferenceField label="Tasks" source="workflow" reference="Workflow">
{/* Task Names */}
</ReferenceField>
</Datagrid>
</List>
);
我假设我可能必须创建自己的“Field”组件,但这会导致另一个问题,我如何操纵“记录”和“来源”以获得我想要的东西?我还是React和Admin-on-rest的新手。