Подпишитесь на Angular отправку реактивной формы - PullRequest
0 голосов
/ 28 марта 2020

Я хотел инициализировать подписку на отправку формы Angular вместо изменения значения. По сути, в своей голове я хотел что-то вроде этого:

ngOnInit() {
  this.formGroup.submit.pipe(
    mergeMap(this.service.update(formVal)),
  ).subscribe(this.val$);
}

Таким образом, я могу инициализировать подписку на изменение формы с самого начала непосредственно из формы, источник значения изменяется. Это возможно? Почему или почему нет?

1 Ответ

0 голосов
/ 28 марта 2020

инициализация подписки на отправку формы Angular вместо изменения значения

Есть способ сделать это. Когда вы создаете элемент управления формы (FormControl, FormGroup или FormArray), вы также можете указать свойство updateOn, которое указывает, когда элемент управления формы должен быть обновлен. Когда элемент управления формы обновляется, его субъекты valueChanges и statusChanges также будут излучать.

Имея это в виду, вы можете создать свой экземпляр FormGroup следующим образом:

this.formGroup = new FormGroup({ /* ... controls ... */ }, { updateOn: 'submit' })

// Getting notified about changes
this.formGroup.valueChanges.subscribe(formValue => {})

Возможные значения для updateOn: change, blur и submit.

Здесь - статья, которая углубляется в Angular форм.

...