在Admin On Rest In Table中显示嵌套的Json对象

时间:2018-03-13 20:07:34

标签: javascript json reactjs admin-on-rest

我正在使用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的新手。

0 个答案:

没有答案