Как получить указанный элемент, который был затронут или изменен с помощью Angular NgForm valueChanges в управляемой шаблоном форме - PullRequest
0 голосов
/ 21 мая 2019

Я использую угловую форму valueChanges, чтобы подписаться на изменения в форме. Но я не могу сказать, какой элемент вызвал изменение данных, которые я получаю из подписки valueChanges. Есть ли способ обнаружить это?

Подписка на событие и использование элементов управления для получения единого источника контроля.

this.termSheetForm.valueChanges
       .subscribe(x => {
         if (this.termSheetForm.dirty) {
           console.log('emitted changes ', x); // cannot determined what field was touched and check if it is required // HELP
           const tempCtrl: any[] = Object.entries(this.termSheetForm.controls);
           tempCtrl.forEach((ctrl , index) => {
             const controlValidator: any = this.termSheetForm.control.get(ctrl[0]).validator ? this.termSheetForm.control.get(ctrl[0]).validator({} as AbstractControl) : null;
             if (controlValidator && controlValidator.required) {
                   console.log('required ' , controlValidator);
                   //currently this gives me all required field
               }
           });
         }
       });
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...