【问题标题】:primeNG filtering not filtering the dataprimeNG过滤不过滤数据
【发布时间】:2023-11-27 06:27:02
【问题描述】:

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

【问题讨论】:

    标签: angular primeng


    【解决方案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" />
    

    【讨论】: