@ngxs/form-plugin:处理单个字段更改
Posted
技术标签:
【中文标题】@ngxs/form-plugin:处理单个字段更改【英文标题】:@ngxs/form-plugin: handling single field change 【发布时间】:2020-03-04 23:25:06 【问题描述】:表单插件提供UpdateFormValue
操作,允许处理表单字段的更改。但是,它会针对表单的每个字段更改进行调度。因此,如果我在一个表单中有多个字段(例如电子邮件和姓名)并且我想对电子邮件更改做一些事情但忽略姓名更改,我必须在组件中订阅 valueChanges
observable,如下所示:
...
this.myForm.controls.email.valueChanges.subscribe(emailValue =>
/* dispatch my special action Actions.UserChangedEmail or something */
这是正确的方法还是可以在使用@Action(UpdateFormValue)
或类似的方法的状态下处理它?
【问题讨论】:
【参考方案1】:你可以用这个
this.myForm.get('email').valueChanges.subscribe(value =>
this.myForm.get('email').setValue(value, onlySelf: true, emitEvent: false, emitModelToViewChange: true );
, error => , () => );
【讨论】:
我认为您没有理解这个问题。我有一个由 NGXS 及其表单插件管理的状态。我想对 NGXS 状态类中的单个字段更改(忽略其他字段值的更改)做出反应,就像我为该状态调度的其他操作一样。以上是关于@ngxs/form-plugin:处理单个字段更改的主要内容,如果未能解决你的问题,请参考以下文章
如何使用 ReactJS 中的单个函数处理表单字段中的错误?