@ ngxs / form-plugin:处理单个字段更改

时间:2019-11-08 10:22:42

标签: angular ngxs

表单插件提供了UpdateFormValue操作,该操作允许处理表单字段中的更改。但是,将为表单的每个字段更改分派它。因此,如果我在表单中有多个字段(例如,电子邮件和姓名),并且想对电子邮件进行更改,但忽略名称更改,则必须订阅valueChanges在组件中可观察到,例如:

...
this.myForm.controls.email.valueChanges.subscribe(emailValue => {
    /* dispatch my special action Actions.UserChangedEmail or something */
}

这是正确的方法还是可以通过使用@Action(UpdateFormValue)或类似方法的方法在某种状态下进行处理?

1 个答案:

答案 0 :(得分:0)

您可以使用此

 this.myForm.get('email').valueChanges.subscribe(value => {
    this.myForm.get('email').setValue(value, { onlySelf: true, emitEvent: false, emitModelToViewChange: true });
}, error => { }, () => { });