在angular2中刷新页面后,保留全局过滤器中的值

时间:2017-07-25 15:05:24

标签: angular

我使用了一个数据表和一个全局过滤器,它过滤了angular2中数据表中的数据。我正在执行以下操作。

当我在过滤器中输入一些值时,记录会被过滤掉。但是当我执行某些操作(例如,批准记录)时,通过删除特定记录(如预期的那样)来刷新页面,并且过滤器也会被清除。但是我想要的是,过滤器不应该被清除并且它具有在执行批准操作之后,在执行操作之前显示先前存在的记录(删除的记录除外)。我可以通过使用ngModel保留过滤器中的值,但记录没有被过滤。只有在对焦后按下回车键或按键空格或输入一些字母才会过滤。

那么请你帮我刷新页面后过滤数据

1 个答案:

答案 0 :(得分:0)

您可以使用路由器查询参数来过滤数据

在构造函数中获取过滤器

constructor(private router: Router, private route: ActivatedRoute) {
    this.route
     .queryParams
     .subscribe(params => { 
         const filter = params['filter'] || '';
         this.applyFilter(filter);
     });
 }

设置过滤器

onFilter(param: string): void {
    this.router.navigate(['mypage'], { queryParams: { filter: param} });
}