2

Can i filter out the data using query params in Angular? This.rows is an array. I'll only show this.rows that has the query params of "Pending". How will i able filter out this using queryParams. Here's my code below.

// 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 Answer 1

5

You can get query params like this using ActivatedRoute and then store it in one variable and use filter to get pending entries in rows.

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);
  }

}
Sign up to request clarification or add additional context in comments.

Comments

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.