管理员休息 - 如何在没有 ReferenceField 的情况下显示数据网格?

Admin on rest - How to display a Datagrid withtout a ReferenceField?

在我的一个 API 端点中,我有这样的资源:

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

而且我想在带有 Datagrid 组件的 Show 视图中显示它:

      <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 有什么技巧?

Datagrid 只是一个迭代器组件。它遍历其父级提供的 'resource' 列表。

查看 Datagrid 的源代码表明它接受来自其父级的以下属性

resource, children, ids, isLoading, data, currentSort, basePath

1) 这里的资源是要显示的值数组

2)children就是你要显示的各个列

3)ids是上面资源的id^^

4) isLoading 由父项提供,但它是一个布尔值,请尝试为其设置默认值,看看效果如何

5) basePath 是路由的路径。如果您记录传递给您的表演组件的道具,您可能会找到它。只需将其沿链传递到数据网格即可。

如果 none 这行得通,那么就知道 Datagrid 只是 MUI Table 组件之上的一个薄层。您可以直接使用它并根据您的需要真正定制它