要获取FormGroup中所有已更改的值,可以使用FormGroup的valueChanges属性和getRawValue()方法。
以下是一个示例代码:
import { Component, OnInit } from '@angular/core';
import { FormBuilder, FormGroup } from '@angular/forms';
@Component({
selector: 'app-my-form',
templateUrl: './my-form.component.html',
styleUrls: ['./my-form.component.css']
})
export class MyFormComponent implements OnInit {
myForm: FormGroup;
constructor(private formBuilder: FormBuilder) { }
ngOnInit() {
this.myForm = this.formBuilder.group({
name: '',
email: '',
password: ''
});
this.myForm.valueChanges.subscribe(value => {
console.log(value);
});
}
getChangedValues() {
console.log(this.myForm.getRawValue());
}
}
在上面的例子中,我们使用FormGroup和FormBuilder创建了一个名为myForm的表单。然后,我们订阅了myForm的valueChanges属性,当表单中的任何一个字段值发生变化时,都会触发这个订阅。在订阅回调函数中,我们可以打印出当前表单的值。
另外,我们还定义了一个名为getChangedValues的方法。当我们调用这个方法时,它会打印出FormGroup的原始值,包括所有已更改的字段。这里使用了getRawValue()方法来获取原始值。
希望这个示例能帮助到你!