在Angular中基于查询参数显示数据

时间:2018-08-28 04:33:45

标签: angular angular6 query-parameters

我可以使用Angular中的查询参数过滤掉数据吗? this.rows是一个数组。 我将仅显示具有“ Pending”查询参数的this.rows。我如何使用queryParams过滤掉它。这是我的下面的代码。

// this.rows is an array



this.activeRouter.queryParams
.filter(params => params.q)
.subscribe(params => {
  console.log(params);
  if(this.rows.status === params.q){
    return this.rows;
  }
});

1 个答案:

答案 0 :(得分:5)

您可以使用ActivatedRoute获取类似的查询参数,然后将其存储在一个变量中,并使用过滤器获取行中的待处理条目。

import {Router, ActivatedRoute, Params} from '@angular/router';
import {OnInit, Component} from '@angular/core';

@Component({...})
export class MyComponent implements OnInit {
 queryParamsStatus ='';

  constructor(private activatedRoute: ActivatedRoute) {}

  ngOnInit() {
    // subscribe to router event
    this.activatedRoute.params.subscribe((params: Params) => {
        this.queryParamsStatus= params['status'];
        console.log(queryParamsStatus );

      });
    let tempRows = this.rows.filter(s => s.staus === this.queryParamsStatus);
  }

}