У меня есть данные PrimeNG с динамическими столбцами, и я хочу добавить фильтр для этих столбцов, фильтрующий значение.
Вот мой столбец данных с фильтром:
<p-column *ngFor="let param of searchFilters" [style]="{'width':'auto'}" header="{{param.name}}"
[filter]="true" filterPlaceholder="Search">
<ng-template pTemplate="filter" let-col>
<input type="text" (keyup)="dt.onFilterKeyup($event.target.value, param.name, 'contains')"/>
</ng-template>
<ng-template let-col let-user="rowData" pTemplate="body">
<span>
{{getUserAttributeCaseInsensitive(user.attributes, param.name)}}
</span>
</ng-template>
</p-column>
Объект My User, представляющий данные для данных, выглядит примерно так:
User {
id?: number;
attributes?: Object;
}
И в этом объекте атрибутов вы можете найти значения для каждого столбца. SearchFilters, используемый для *ngFor
для построения каждого столбца, создается динамически и не всегда содержит все, что содержит объект атрибутов. Теперь, потому что это объект, я не могу установить field="attribute[param.name]"
(из *ngFor
). Поэтому я попробовал собственный фильтр, который тоже не работает.
Может кто-нибудь помочь?