我在FormGroup中有15个可编辑的项目,它们是文本框和选择(下拉列表)。我只是想知道用户是否编辑过任何项目(意味着更改了值)。是否有任何直接财产或其他东西,以便我可以检查是否有任何项目值被更改?
答案 0 :(得分:1)
myForm: FormGroup;
message: string;
constructor(private formBuilder: FormBuilder) {}
ngOnInit() {
this.myForm = this.formBuilder.group({
name: '',
email: ''
});
this.onChanges();
}
注意我们在初始化表单后如何在ngOnInit生命周期钩子中调用onChanges方法。这是onChanges方法的内容:
onChanges(): void {
this.myForm.valueChanges.subscribe(val => {
this.message =
`Hello ${val.name}`;
});
}
您还可以侦听特定表单控件的更改,而不是整个表单组:
onChanges(): void {
this.myForm.get('name').valueChanges.subscribe(val => {
this.message = `My name is ${val}.`;
});
}