休息时管理员 - 如何使用ReferenceField显示数据网格?

时间:2017-12-18 13:51:42

标签: reactjs admin-on-rest

在我的一个API端点中,我有一个类似的资源:

{
    "name": "Foo",
    "anotherField": "anotherValue"
    "users": [
        {
          "id": "XXX-XXX-XXX-XXX"
          "firstname": "Clément",
          "lastname": "Le Biez"
        }
    ]
}

我想在Show视图中使用Datagrid组件显示它:

      <Show {...props}>
        <SimpleShowLayout>
            <TextField source="id" />
            <TextField source="name" />
            <TextField source="anotherField" />
            {# Here use data grid for display users #}
            <Datagrid>

            </Datagrid>
        </SimpleShowLayout>
    </Show>

我不关心ReferenceField之类的东西,因为我已经在主实体中拥有了用户资源。没有列表或参考组件使用Datagrid的提示是什么?

1 个答案:

答案 0 :(得分:2)

Datagrid只是一个迭代器组件。它遍历其父级提供的“资源”列表。

查看Datagrid的源代码表明它从其父

接受以下属性
resource, children, ids, isLoading, data, currentSort, basePath

1)此处资源是要显示的值数组

2)孩子是你想要展示的各个栏目

3)id是^^

以上资源的ID

4)isLoading是由父级提供的,但是是一个布尔值,尝试为它设置默认值并查看将起作用

5)basePath是路由的路径。如果您记录传递给show组件的道具,您可能会找到它。只需将链传递给datagrid即可。

如果这些都不起作用,那么就知道Datagrid只是MUI Table组件顶部的一个薄层。你可以直接使用它,并根据需要真正定制它