Angular получить запрос с несколькими запросами - PullRequest
0 голосов
/ 11 апреля 2020
onSubmit() {
this.router.queryParams.subscribe(params => { 
  let opts = { params: new HttpParams({fromObject: {
    "employeeStatus":this.userForm.get('employeeStatus').value,
    "department":this.userForm.get('department').value
  }
})}
//opts = JSON.parse(JSON.stringify(opts));
console.log(opts)
  this.http.get<User>(`${this.serverUrl}`, opts).subscribe(
    res => {
      this.user = res
      console.log(res)
    }
  ), 
  console.log(params);
 })
}

при отправке формы, я хочу, чтобы любое значение элемента управления было пустым, оно не передается в опциях. Может кто-нибудь помочь, пожалуйста ??

1 Ответ

0 голосов
/ 11 апреля 2020

Я бы сделал это так, если имена элементов управления соответствуют параметрам

let opts = { params: this.getHttpParams() };

getHttpParams = () => {
    const httpParams = new HttpParams();
    Object.keys(this.userForm.controls).forEach(key => {
        const value = this.userForm.get(key).value;
        if(value)
           httpParams.append(key, value);
    });

    return httpParams;
}

Обратите внимание, что если значение элемента управления пустое или пустая строка, это условие "if (value) ..." будет оцениваться как false

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...