Угловой - 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);
}
Другие вопросы по тегам