我想同步2个由ngxs-form-plugin填充的表单域。
如果我更改输入字段#1,存储将被同步,但输入字段#2仍具有旧值。 输入字段2也会发生同样的情况
是否存在使用Reactive-Forms保持同步的ngxs方式?
代码示例:Stackblitz.com
答案 0 :(得分:0)
这里的问题与ngx无关,而仅是反应形式,当您将多个组件绑定到同一个FormControl
时,当组件值更改时,反应形式将负责更改模型值,而不会更改模型值。其他组件值。
要处理这种情况,发现的唯一方法是侦听表单值的更改,并设置相同的值以确保不调度事件以避免无限循环。
在共享示例中,您可以将其添加到AppComponent
constructor
中:
constructor(private fb: FormBuilder, private store: Store) {
this.nameForm.valueChanges
.subscribe(_ =>
this.nameForm.setValue(_, { emitEvent: false}));
}