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' }};