我尝试过滤primeNG表中的列,但是它不起作用。当我输入一些文本时,所有数据将从表格中消失。
<p-table #table [value]="datas">
<ng-template pTemplate="header">
<tr>
<th>
ID
</th>
<th [pSortableColumn]="name">
<span>Name
<p-sortIcon [field]="name"></p-sortIcon>
</span>
<input class="column-filter-input" (click)="$event.stopPropagation()" pInputText type="text" (input)="table.filter($event.target.value, name, 'contains')" [value]="table.filters['name']?.value" />
</th>
</tr>
</ng-template>
<ng-template pTemplate="body" let-data>
<tr>
<td>{{data.id}}</td>
<td>{{data.name}}</td>
</tr>
</ng-template>
</p-table>
答案 0 :(得分:1)
字段名称应为字符串,因此应为table.filter($event.target.value, 'name', 'contains')
,而不是table.filter($event.target.value, name, 'contains')
<input class="column-filter-input" (click)="$event.stopPropagation()" pInputText type="text" (input)="table.filter($event.target.value, 'name', 'contains')" [value]="table.filters['name']?.value" />