如何通知元素形式已更改?
How to notify that element form was changed?
我有一些表格是由 FormGroup
生成的。
class FormGroupCustom {
form: FormGroup;
}
let forms: FormGroupCustom[] = [];
for(let i = 0; i <= 10; i++) {
this.forms.push({"formName": i, "form": new FormGroup()});
}
如何从数组 this.forms
通知 formName: 1
任何字段已从 formName: 2
更改。
我已经尝试应用观察者模式,因为我不需要使用反应式嵌套表单。
我的解决办法是:
class Notify {
notifyChange(formName: string, valueField: any) {
// FIND form in array forms by formName
}
}
然后在特定元素上应用 ng-change
,如果形式如下:
<input type="text" (ngChange)="change('formName1', 'value')"
change(formName: string, value: any) {
let notify = new Notify();
notify.notifyChange(formName, value);
}
因此 notifyChange
可以在数组形式中找到形式,而不是在此形式中对特定字段执行操作
for(let i = 0; i <= 10; i++) {
this.forms.push({formName: i, form: new FormGroup({}) });
let s = this.forms[i].form.valueChanges.subscribe(val => {
// do something when form control changes
})
this.subs.push(s)
}
有一个您可以订阅的 valueChanges() 可观察对象,当表单的值发生变化时执行某些操作,是您要找的吗?
我有一些表格是由 FormGroup
生成的。
class FormGroupCustom {
form: FormGroup;
}
let forms: FormGroupCustom[] = [];
for(let i = 0; i <= 10; i++) {
this.forms.push({"formName": i, "form": new FormGroup()});
}
如何从数组 this.forms
通知 formName: 1
任何字段已从 formName: 2
更改。
我已经尝试应用观察者模式,因为我不需要使用反应式嵌套表单。
我的解决办法是:
class Notify {
notifyChange(formName: string, valueField: any) {
// FIND form in array forms by formName
}
}
然后在特定元素上应用 ng-change
,如果形式如下:
<input type="text" (ngChange)="change('formName1', 'value')"
change(formName: string, value: any) {
let notify = new Notify();
notify.notifyChange(formName, value);
}
因此 notifyChange
可以在数组形式中找到形式,而不是在此形式中对特定字段执行操作
for(let i = 0; i <= 10; i++) {
this.forms.push({formName: i, form: new FormGroup({}) });
let s = this.forms[i].form.valueChanges.subscribe(val => {
// do something when form control changes
})
this.subs.push(s)
}
有一个您可以订阅的 valueChanges() 可观察对象,当表单的值发生变化时执行某些操作,是您要找的吗?