angular - @ngxs/form-plugin : handling single field change

标签 angular ngxs

表单插件提供 UpdateFormValue允许处理表单字段更改的操作。但是,它会针对表单的每个字段更改进行调度。因此,如果我在表单中有多个字段(例如电子邮件和姓名)并且我想对电子邮件更改做一些事情但忽略姓名更改,我必须订阅 valueChanges在组件中可观察到,如下所示:

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


这是正确的方法还是可以使用使用 @Action(UpdateFormValue) 的方法在状态下处理它?或类似的东西?

最佳答案

你可以用这个

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

关于angular - @ngxs/form-plugin : handling single field change,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58764686/

相关文章:

angular - 无法使用组件@ncstate/sat-popover 绑定(bind)到属性 'satPopoverAnchorFor'

angular - 无法分配给 'GetUserByIdModel',因为它不是变量

angular - Ngxs + WebSocket |如何拦截连接并添加自定义 HTTP header ?

angular - 在 TestBed 模块中创建时,NGRX 和 NGXS 会创建单独的 Store 实例吗?

angular - 如何将 NGXS 与路由解析器一起使用?

angular - ngxs还是行为主体,选哪个

css - Angular 4 - 不使用 angular-cli.json 中的样式

javascript - RxJS - 无限滚动 - 在上一个未到达时发送请求

angular - 如何在不使用对象引用的情况下比较Angular中的两个对象

ngxs - 更新数组内对象的 NGXS 状态