首页 > 解决方案 > primeNG过滤不过滤数据

问题描述

我尝试过滤 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>

标签: angularprimeng

解决方案


字段名称应该是字符串,所以它应该是table.filter($event.target.value, 'name', 'contains')而不是table.filter($event.target.value, name, 'contains')like

<input class="column-filter-input" (click)="$event.stopPropagation()" pInputText type="text" (input)="table.filter($event.target.value, 'name', 'contains')" [value]="table.filters['name']?.value" />

推荐阅读