我正在使用ng2-smart-table我每隔2分钟用setInterval
函数更新信息,我会收到新信息。
问题是我在过滤,排序或使用数据表的分页时触发间隔,数据表返回默认过滤器和排序等。
我正在寻找更新pendingAlerts
的方法,但不会影响数据表中的当前过滤器或排序。我正在考虑直接影响数组的每个实例,但我不知道它是否是一个好方法。
HTML
<ng2-smart-table (userRowSelect)="onRowSelected($event)" [settings]="settings" [source]="pendingAlerts"></ng2-smart-table>
我正在使用带有可观察模式的存储数据来检索我认为与显示此代码无关的信息
组件
...
pendingAlerts: Pending[] =[];
...
next = (data: Pending[]) => {
console.log("Receiving info from observer"+ data.length);
this.pendingAlerts = data;
}
答案 0 :(得分:0)
答案是使用LocalDataSource
类和load
函数来加载数据。并且您将保留过滤器和排序配置。
<强>组件强>
pendingAlerts: LocalDataSource;
count: number = 0;
ngOnInit() {
this.pendingAlerts = new LocalDataSource([]);
this.pendingAlerts.onChanged().subscribe(res =>{
this.count = this.pendingAlerts.count();
});
}
next = (data: Pending[]) => {
console.log("Receiving info from observer"+ data.length);
this.pendingAlerts.load(data);
}