Необходимо использовать значения, разделенные пробелами, в фильтре AG-Grid, чтобы возвращать каждое совпадение

Мне поручено переместить некоторые UI-сетки в AG-Grid. Мне нужно разрешить пользователю использовать строку, разделенную пробелами, для фильтра столбца, чтобы 1 4 23 88 возвращал все строки, в которых столбец имеет значение 1, 4, 23 или 88. AG-Grid имеет опцию раскрывающегося списка ИЛИ, но добавляются щелчки и допускает только два значения.

С UI-Grid параметр фильтра в columnDefs может иметь условие:

filter:{condition: filterFunction}

FilterFunction просто имеет настраиваемую логику и возвращает true или false.

Есть что-то подобное с AG-Grid? Читая документацию, кажется, что слишком много времени уделяется созданию настраиваемого фильтра. Решение UI-Grid похоже на 6 строк кода.

CentOS 7, VueJS


person Loom    schedule 05.06.2021    source источник
comment
ag-grid.com/javascript-grid/filtering   -  person Sanjay Choudhary    schedule 06.06.2021
comment
Как я уже сказал, я прочитал их. Создание фильтрующего компонента для того, что мне нужно, кажется излишним.   -  person Loom    schedule 06.06.2021


Ответы (1)


В итоге я использовал:

 filter:'agTextColumnFilter', filterParams: {textCustomComparator: this.filterFunction}

С filterFunction, удерживающей логику.

https://www.ag-grid.com/javascript-grid/filter-text/#text-custom-comparator

Хотя я использую числовой столбец, нет компаратора filterParam для чисел, только «компаратор» для дат и «textCustomComparator» для текста.

Кажется, это отлично подходит для того, что мне нужно.

person Loom    schedule 06.06.2021