Admin-on-rest:根据不同的数据进行过滤

时间:2017-08-14 08:40:08

标签: admin-on-rest

我有一个REST端点来获取一组'组,其中每个组由一个名称和一个id组成。我已成功将其作为admin-on-rest中的资源实现。

现在我有另一个用于获取用户的REST端点,但我只能获得特定组的用户,而不是所有用户。 REST端点要求我提供组ID作为URL的一部分。但是,用户对象中没有groupId,因为引用是另一种方式,group - >用户。

我想要的是显示'名称'在用户列表视图的过滤器下拉列表中的一个组,然后使用' id'要传递给其他客户端以加载相应用户的组。

我已经在我的restclient中实现了调用,如下所示:

    case 'users': {
        switch(type) {
            case 'GET_LIST': {
                return getUsers(token, params.filter.id)
                    .then(response => ({ data: response.data, total: response.data.length }));
            }
        }
        break;
    }

在我的用户资源组件的列表视图中,我实现了一个这样的过滤器:

const UsersFilter = ({ ...props }) => (
    <Filter {...props}>
        <ReferenceInput source="id" reference="groups">
            <SelectInput optionText="name" />
        </ReferenceInput>
    </Filter>
);

现在,这不起作用。在过滤器中,我只有一个名为&#39; Id&#39;的条目,并且有一条错误消息说&#34;无法找到id == undefined&#34;的目标用户组。

我该怎么办?

1 个答案:

答案 0 :(得分:0)

对不起,

实际上它确实有效,但我使用用户界面太愚蠢了。我不知道,我必须首先选择一个过滤器,然后再使用它。而且我也忘了给我的组过滤器一个标签,这就是为什么它只在过滤器菜单中说'id'。

现在可行。