【问题标题】:Admin-on-rest: Filter based on different dataAdmin-on-rest:根据不同的数据进行过滤
【发布时间】:2023-03-31 14:18:01
【问题描述】:

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

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

我想要的是在用户列表视图的过滤器下拉列表中显示组的“名称”,然后使用组的“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>
);

现在,这行不通。在过滤器中,我只有一个名为“Id”的条目,并且有一条错误消息说“找不到 id==undefined 的 targetusergroup”。

我能做什么?

【问题讨论】:

    标签: admin-on-rest


    【解决方案1】:

    对不起,

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

    现在可以了。

    【讨论】:

      猜你喜欢
      • 2012-08-08
      • 2018-03-14
      • 1970-01-01
      • 2014-07-01
      • 1970-01-01
      • 1970-01-01
      • 2016-06-06
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多