Я создаю несколько пользовательских фильтров для создаваемой нами сетки данных, управляемой сервером. До сих пор мы использовали только строковый фильтр по умолчанию, который передает ожидаемый формат:
{ property: string; value: string; }
На снимке экрана ниже показан вывод консоли для этого в качестве справки.
Однако, когда я заменяю стандартный фильтр настраиваемым фильтром и отправляю простое строковое значение с помощью метода ClrDatagridFilterInterface
Observable next, состояние сетки данных дает мне полный настраиваемый компонент (см. Скриншот ниже).
Я воссоздал это здесь: https://stackblitz.com/edit/angular-mr1yhy
Это ожидаемое поведение пользовательского фильтра? и если да, есть ли способ обойти это и просто вернуть комбинацию property/value
?
PS. Я знаю, что указанный интерфейс допускает оба типа (как показано ниже), мне просто нравится первый, и я не могу найти решение.
export interface ClrDatagridStateInterface<T = any> {
page?: {
from?: number;
to?: number;
size?: number;
};
sort?: {
by: string | ClrDatagridComparatorInterface<T>;
reverse: boolean;
};
filters?: ({
property: string;
value: string;
} | ClrDatagridFilterInterface<T>)[];
}