angular - PrimeNG Turbotable 在初始化时激活我的过滤器
问题描述
由于不推荐使用 PrimeNG Datatable,我在 TurboTable 中进行了升级,并且我需要在我的组件(或视图)初始化时激活我的过滤器。它适用于 Datatable,但不适用于我的涡轮增压器。我正在使用 ChangeDetectorRef 来检测更改。
ngAfterViewInit() {
this.setFilters();
this._cdr.detectChanges();
}
解决方案
调用 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);
}
}
推荐阅读
- bash - 如何使用 bash 脚本将完全限定的类名转换为标题大小写?
- python - 每次获取字典值时执行函数的方法
- python - 你将如何使用哈希映射而不是集合来解决这个问题?
- firebase-authentication - Firebase Auth Emulator 电子邮件/密码登录 REST 端点
- reactjs - 部署 React SPA
- java - java - 如何编写一个在春季/java中工作日从上午9:30到凌晨4:00每5分钟运行一次的cron表达式?
- arrays - Powershell:空数组的条件连接分隔符(如果为空则忽略分隔符)?
- eclipse - Maven 在一个项目上失败并在另一个项目上工作
- c - 用C中的函数连接2个字符串
- java - 这个 Java 项目如何使用语言保留字作为标识符?