我正在懒惰地加载 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>