我正在懒惰地加载PrimeNg turbotable。一切正常。但是我想使用一些默认的过滤器值来加载数据说:我想使用记录的用户ID 来加载数据。动态地,我使用[[ngModel)]设置文本过滤器或Dropdwon过滤器的值。但是我看不到TurboTable事件过滤器中的任何更改。一切都是空的。
<p-table #tt [value]="data" [lazy]="true" (onLazyLoad)="loadDataLazily($event)"
[paginator]="true"
[rows]="10 [totalRecords]="totalRecords">
<ng-template pTemplate="header">
<tr>
<th *ngFor="let col of cols" [ngSwitch]="col.field">
{{col.header}}
</th>
</tr>
<tr>
<th *ngFor="let col of cols" [ngSwitch]="col.field">
<input *ngSwitchCase="'NAME'" pInputText style="width:100%;" type="text"
(input)="tt.filter($event.target.value, 'NAME')">
<p-dropdown *ngSwitchCase="'USERID'" [options]="ids" [style]="{'width':'100%'}"
[(ngModel)]="selectedUserId" (onChange)="tt.filter($event.value, 'USERID', 'equals')">
</p-dropdown>
</th>
</tr>
</ng-template>
...
</p-table>
我在下面尝试过,但没有尝试过 ngModel 值中的 $ event.value :
<p-dropdown *ngSwitchCase="'USERID'" [options]="ids"
[style]="{'width':'100%'}"
[(ngModel)]="selectedUserId" (onChange)="tt.filter(selectedUserId, 'USERID', 'equals')">
</p-dropdown>