私は、グループごとに名前とIDで構成される「グループ」のセットを取得するためのRESTエンドポイントを持っています。私はそれを管理者の上でのリソースとして成功裏に実装しました。Admin-on-rest:異なるデータに基づくフィルタ
ユーザーを取得するためのもう1つのRESTエンドポイントがありますが、全ユーザーではなく特定のグループのユーザーしか取得できません。 RESTエンドポイントでは、URLの一部としてグループIDを指定する必要があります。しかし、ユーザーオブジェクトにはgroupIdがありません。なぜなら、参照は逆にグループ - >ユーザーだからです。
私が望むのは、ユーザーのリストビューのフィルタードロップダウンにグループの「名前」を表示し、グループの「ID」を使用して残りのクライアントに渡して、それぞれのユーザーを読み込む方法です。
は、私はすでに次のように私のrestclientに呼び出しを実装している:今
const UsersFilter = ({ ...props }) => (
<Filter {...props}>
<ReferenceInput source="id" reference="groups">
<SelectInput optionText="name" />
</ReferenceInput>
</Filter>
);
:
case 'users': {
switch(type) {
case 'GET_LIST': {
return getUsers(token, params.filter.id)
.then(response => ({ data: response.data, total: response.data.length }));
}
}
break;
}
をそして、私のユーザーのリストビューでコンポーネントをリソース、私はこのようなフィルタを実装していますこれは機能しません。フィルタでは、私は 'Id'という1つのエントリしかなく、 "id == undefined"のtargetusergroupが見つからないというエラーメッセージが表示されます。
どうすればよいですか?