Моя бэкэнд-работа с фильтрами выглядит так (например):
filters = {
"groupOp": "AND",
"rules": [
{
"field": "id",
"op": "equal",
"data": 6
},
{
"field": "partnerId",
"op": "equal",
"data": 446
}
],
"groups": [
{
"groupOp": "AND",
"rules": [
{
"field": "username",
"op": "startswith",
"data": "Alex"
}
],
"groups": []
}
]
}
Он отлично работает с фильтрами постоянства, но не работает с пользовательскими фильтрами, которые передаются компоненту списка. Например:
export const OrdersFilter = (props) => (
<Filter {...props}>
<TextInput label="username" source="username" />
<TextInput label="partnerId" source="partnerId" />
</Filter>
);
Потому что это фильтр «ключ-значение», и я не могу понять, как добавить дополнительные поля в поле пользовательского фильтра.
Или как я могу обернуть изменения URL-адреса ('@@ router / LOCATION_CHANGE') после действия @@ redux-form / CHANGE, чтобы изменить исходный фильтр, который передается URL-адресу с именем фильтруемого поля:
filter=%7B%22partnerId%22%3A%226%22%7D&order=DESC&page=1&perPage=10'
to
filter={"field": "partnerId","op": "equal","data": 6}&order=DESC&page=1&perPage=10