0

我想初始化对 Angular 表单提交的订阅,而不是值更改。基本上,在我的脑海里,我想要这样的东西:

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

这样我就可以直接从表单开始初始化对表单更改的订阅,值的来源会发生变化。这可能吗?为什么或者为什么不?

4

1 回答 1

0

初始化对 Angular 表单提交的订阅,而不是值更改

有办法做到这一点。创建表单控件(FormControlFormGroupFormArray时,还可以指定updateOn属性,该属性指示何时更新表单控件。当表单控件更新时,它的valueChangesstatusChanges主题也会发出。

考虑到这一点,您可以FormGroup像这样创建您的实例:

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

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

的可能值为updateOnchange和。blursubmit

是一篇深入探讨 Angular Forms 的文章。

于 2020-03-28T08:43:03.647 回答