Угловой - ngOnChange на FormGroup
Мне нужно обнаружить в реальном времени изменения в полях FormGroup
, У меня есть простая структура компонентов родитель-потомок следующим образом:
представление родительского компонента
<my-child [myForm]="myForm"></my-child>
контроллер дочернего компонента
@Input()
myForm: FormGroup;
ngOnChanges(changes: SimpleChanges) {
console.log('changes', changes)
}
Проблема в том, что при изменении полей формы никаких изменений не обнаружено. Есть ли способ вызвать ngOnChanges
в любую форму изменить? Благодарю.
1 ответ
Решение
Вы можете использовать следующее:
this.myForm.valueChanges.subscribe(changes => {
// do what you need with the form fields here
// you can access a form field via changes.fieldName
});
formName: FormGroup;
@Input() myForm: FormGroup;
ngOnChanges(changes: SimpleChanges) {
const MyFormChanges: SimpleChange = changes.myForm;
// To Check current values
console.log(MyFormChanges.currentValue)
// To Check previous values
console.log(MyFormChanges.previousValue)
// To Set Current Values to fields using controls
this.formName.controls['email'].setValue(MyFormChanges.currentValue.email);
}