Как отправить только один запрос после сброса нескольких полей? - PullRequest
0 голосов
/ 22 апреля 2019

Я использую реактивные формы и пытаюсь сбросить 5 определенных полей, но моя форма прослушивает любые изменения и отправляет запрос.И если я сбросил 5 полей, моя форма отправляет 5 запросов.Но я хочу отправить только один запрос после всех изменений.

this.subs = form.get('city').valueChanges.subscribe(city => {
            form.get('property').reset(null, {
              emitEvent: false,
              onlySelf: true
            });

            form.get('cars').reset(null, {
              emitEvent: false,
              onlySelf: true
            });

            form.get('tariff').reset(null, {
              emitEvent: false,
              onlySelf: true
            });

            form.get('version').reset(null, {
              emitEvent: false,
              onlySelf: true
            });
          });

Что я делаю не так?

PS: я использую ngx-formly для организации форм.

1 Ответ

0 голосов
/ 22 апреля 2019

Что-то помимо того, что вы предоставили, должно быть причиной проблемы. Примерно так работает отлично:

 form = new FormGroup({
    a: new FormControl('a'),
    b: new FormControl('b'),
    c: new FormControl('change me'),
  });

  ngOnInit() {
    this.subs = [
      this.form.valueChanges.subscribe(v => console.log('form value change', v)),
      this.form.get('c').valueChanges.subscribe(() => { 
        console.log('reset');

        this.form.get('a').reset('d', { emitEvent: false });
        this.form.get('b').reset('e', { emitEvent: false });
      }),
    ];
  }

вот рабочий стек бликов: https://angular -awifgk.stackblitz.io

...