PrimeNg - 无法使用参数过滤 p-table
PrimeNg - unable to filter p-table with a parameter
我正在使用 Angular 7 和 PrimeNg 库。
我有我的p-table声明:
<p-table #tasktable [columns]="displayedColumns" [value]="Tasks" [globalFilterFields]="['name']" [paginator]="true" paginatorPosition="both"
rows="20" [autoLayout]="true" selectionMode="single" [(selection)]="selectedTask"
[reorderableColumns]="true" >
然后我有全局过滤器的文本输入:
<input type="text" pInputText size="50" placeholder="Search by Task name" [(ngModel)]="filterFromUrl" (input)="tasktable.filterGlobal($event.target.value, 'contains')" style="width:auto">
到目前为止一切顺利。
有时我会在 URL 中获取一个参数来获取它
我在 component.ts:
中使用
this.activatedRoute.queryParams.subscribe(params => {
this.filterFromUrl = params['task'];
});
现在我的 filterFromUrl 参数中有来自 URL 的参数。
我的问题:
我无法通过参数获取 table 过滤数据。
我在中使用了 [(ngModel)] 绑定,它不起作用,
我可以在搜索控件上看到参数:
但它只是没有触发事件,数据也没有被过滤。
您需要做的就是将过滤器添加到 table 中(确保其采用 table 期望的格式),如下所示:
@ViewChild("tasktable ") public table: Table;
this.table.filters = {global { value: 'SUBMIT_ORDER', matchMode: 'search' }};
我正在使用 Angular 7 和 PrimeNg 库。
我有我的p-table声明:
<p-table #tasktable [columns]="displayedColumns" [value]="Tasks" [globalFilterFields]="['name']" [paginator]="true" paginatorPosition="both"
rows="20" [autoLayout]="true" selectionMode="single" [(selection)]="selectedTask"
[reorderableColumns]="true" >
然后我有全局过滤器的文本输入:
<input type="text" pInputText size="50" placeholder="Search by Task name" [(ngModel)]="filterFromUrl" (input)="tasktable.filterGlobal($event.target.value, 'contains')" style="width:auto">
到目前为止一切顺利。 有时我会在 URL 中获取一个参数来获取它 我在 component.ts:
中使用 this.activatedRoute.queryParams.subscribe(params => {
this.filterFromUrl = params['task'];
});
现在我的 filterFromUrl 参数中有来自 URL 的参数。 我的问题:
我无法通过参数获取 table 过滤数据。
我在中使用了 [(ngModel)] 绑定,它不起作用,
我可以在搜索控件上看到参数:
但它只是没有触发事件,数据也没有被过滤。
您需要做的就是将过滤器添加到 table 中(确保其采用 table 期望的格式),如下所示:
@ViewChild("tasktable ") public table: Table;
this.table.filters = {global { value: 'SUBMIT_ORDER', matchMode: 'search' }};