获取ReferenceManyField计数?

时间:2019-04-24 19:00:12

标签: react-admin

如何显示“ ReferenceManyField”组件的数量?

这是东西,我正在列出组织,我希望让每个组织的用户计数。

获取组织:

matOut = matrix(numeric(rows*cols), nrow = rows, ncol = cols) # empty matrix

获取每个组织的用户:

GET /organizations?filter={}&range=[0,24]&sort=["name","ASC"]
...
GET /users?filter={"uuid_organization":"1117b0a0-6ec7-40e3-9ee6-49d121c27111"}&range=[0,99]&sort=["email","ASC"]
...

我不确定是否应该采用这种方式,这似乎效率低下且过大。你怎么想?

谢谢。

1 个答案:

答案 0 :(得分:0)

您选择的方法是react-admin实施该方法以通过外键和IMHO来获取联接数据的方法,但这并不过分,因为在数据库级别,您仍然需要查询另一个表。

根据documentation, 对于响应格式GET_MANY_REFERENCE,还有一个额外的响应属性,称为totalGET_MANY_REFERENCE { data: {Record[]}, total: {int} }

ReferenceManyField字段组件使用此响应格式,使用当前记录ID作为引用资源的外键(父ID)来检索数据。

进入react-admin code latest version 2.9.0,我发现ReferenceManyField将道具传递给孩子,而如何处理数据则取决于您(例如List,{{1 }}),其中一项道具是DataGrid(记录数),默认情况下会传递给total组件。

如果您不想使用其他任何东西,则可以创建自己的简单功能组件来处理这些道具:

Pagination

以及您的参考字段的用法:

import React from 'react';

const UserTotal = props => <div>User count: {props.total}</div>;

export default UserTotal;