Я не думаю, что до тех пор, пока на следующих этапах не будет предпринята попытка решить соответствующий запрос функции настраиваемого фильтра возможен настраиваемый фильтр, аналогичный подходу Material 2.
Вы можете преобразовать или расширить исходный объект данных таблицы в объектное представление данных вашей таблицы, специфичное для PrimeNG, где каждое определение столбца (или дополнительные определения столбцов являются) сглаженным / конкатенированным / CSV (и т. Д.) Представлением, которое вы хотите отфильтровать, используя PrimeNG DataTable / TurboTable filterMatchMode типы.
Вы, вероятно, не будете отображать фактическое значение col def, удобное для фильтра. Вместо этого вы должны визуализировать то, что вам нравится, из значений связанных исходных объектов данных таблицы внутри ng-шаблонов, которые включают удобное для фильтра имя поля def столбца.
Я использую этот подход для фильтрации нескольких значений, которые должны отображаться в одной ячейке таблицы для строки, например валютные цены на один товар. Я отображаю составные блоки div в таблице, но разрешаю фильтрацию, как если бы они были списком значений CSV.
// This is actually PrimeNG DataTable but TurboTable approach is similar
<ng-template *ngIf="col.field === 'csvPriceCurrencyCodes'" let-data="rowData" pTemplate="body">
<div *ngFor="let price of data?.prices">
{{ price?.currency }}
</div>
</ng-template>
<ng-template *ngIf="col.field === 'csvPriceAmounts'" let-data="rowData" pTemplate="body">
<div *ngFor="let price of data?.prices">
{{ price?.price | delimitNumber:2 }}
</div>
</ng-template>
Другой пример - col.field
с именем типа enabledProduct
, которое я могу заменить одной из двух строк CSV, представляющих диапазон типичных логических значений, которые люди могут вводить во входные данные фильтра таблицы PrimeNG, для которых установлено значение filterMatchMode
contains
либо 0,n,no,off,false,disabled
, либо 1,y,yes,on,true,enabled
, но все визуально отображается в виде гигантского значка галочки для включенных элементов.
(Обычно я использую подход PrimeNG «Динамические столбцы», указанный в документации.)
person
jmmygoggle
schedule
25.04.2018