订阅Angular反应表单提交

时间:2020-03-28 04:24:54

标签: angular rxjs

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

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

这样,我可以直接从表单开始就初始化表单更改的预订,值的来源也会更改。这可能吗?为什么或为什么不呢?

1 个答案:

答案 0 :(得分:0)

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

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

请记住,您可以像这样创建FormGroup实例:

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

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

updateOn的可能值为:changeblursubmit

Here是一篇文章,深入探讨了Angular Forms。