angular - Typdefinition för PrimeNg p-table


Jag har en PrimeNg p-table som jag behöver ställa in standardfiltrering för baserat på användaren, så jag tror att jag behöver använda något som let table=document.getElementById("dt"); Där table är vad som helst som PrimeNg:s tableobjekt är så att jag kan kalla table.filter(filterDefault, col.field, 'in'); som görs i HTML. Jag vet bara inte hur jag får #dt över till min TypeScript som rätt typ eller kanske finns det ett enklare sätt att göra detta med det som p-table redan har.

         <p-table #dt>
                ...
                  <tr>
                    <th *ngFor="let col of columns" [ngSwitch]="col.filterType" class=showOverflow pResizableColumn>
                      ...

                      <p-multiSelect *ngSwitchCase="'DropDown'" [options]="masterSearchTypes" defaultLabel="All"
                        [(ngModel)]="filterDefault" (onChange)="dt.filter($event.value, col.field, 'in' )"></p-multiSelect>

                    </th>
                  </tr>
                  ...
              </p-table>

Svar #1

Använd @Viewchild i din TS-fil :

import { ViewChild } from '@angular/core';    
import { Table } from 'primeng/table';    

    @ViewChild('dt') table: Table;

Då kan du ringa

 this.table.filter()

Relaterade artiklar