【问题标题】:@ngxs/form-plugin: handling single field change@ngxs/form-plugin:处理单个字段更改
【发布时间】: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) 或类似的方法的状态下处理它?

【问题讨论】:

    标签: angular ngxs


    【解决方案1】:

    你可以用这个

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

    【讨论】:

    • 我认为您没有理解这个问题。我有一个由 NGXS 及其表单插件管理的状态。我想对 NGXS 状态类中的单个字段更改(忽略其他字段值的更改)做出反应,就像我为该状态调度的其他操作一样。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-02-09
    • 1970-01-01
    • 2013-01-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多