Пользовательский фильтр PrimeNG с данными при вводе для объекта - PullRequest
0 голосов
/ 27 апреля 2018

У меня есть данные 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). Поэтому я попробовал собственный фильтр, который тоже не работает.

Может кто-нибудь помочь?

...