首页 > 解决方案 > PrimeNG Turbotable 在初始化时激活我的过滤器

问题描述

由于不推荐使用 PrimeNG Datatable,我在 TurboTable 中进行了升级,并且我需要在我的组件(或视图)初始化时激活我的过滤器。它适用于 Datatable,但不适用于我的涡轮增压器。我正在使用 ChangeDetectorRef 来检测更改。

ngAfterViewInit() {
    this.setFilters();
    this._cdr.detectChanges();
}

标签: angulartypescriptprimeng

解决方案


调用 table.filter() 而不是使用 ChangeDetectorRef

export class DynamicDataTableComponent implements OnInit {

  @ViewChild(Table) table: Table;

  columns = [
    { field: 'name', header: 'Name' }
  ];

  records = [
    { name: '123 Should display' },
    { name: '321 Should not display' }
  ];

  ngOnInit() {
    // Set Filters
    this.table.filters = {
      name: { value:'123', matchMode: 'contains' }
    };
    this.table.filter(null, null, null);
  }

}

推荐阅读