Угловые — Получают группы форм, которые изменили свое начальное состояние

#angular #forms

#угловой #формы

Вопрос:

У меня есть FormArray то, что держится FormGroups . Ниже приведена необходимая часть кода

 public formGroups: FormGroup = new FormGroup({ items: new FormArray([]) }); public createFormGroup = (dataItem) =gt; new FormGroup({  atrributeId: new FormControl(dataItem.atrributeId),  objectType: new FormControl(dataItem.objectType, Validators.required),  attributeDisplayName: new FormControl(dataItem.attributeDisplayName, Validators.required),   dataType: new FormControl(dataItem.dataType, Validators.required),  inputValues: new FormControl(dataItem.inputValues, [Validators.required, InputValuesValidator]),  isGridEligible: new FormControl(dataItem.isGridEligible, Validators.required),  isInvoiceEligible: new FormControl(dataItem.isInvoiceEligible, Validators.required), });  public editRows(grid) {   this.formGroups.markAllAsTouched();   this.isEdited = true;  this.isDeleted = false;  let currentRow = 0;  let rows: any = grid.data.data;    for (let i = 0; i lt; rows.length; i  ) {  const formGroup = this.createFormGroup(rows[i]);   this.formGroup = formGroup;  (this.formGroups.get('items') as FormArray).push(formGroup);   grid.editRow(currentRow, formGroup, {skipFocus: true});  currentRow  ;    formGroup.valueChanges.subscribe(val =gt; {  console.log(val);  });  } }   

Как я могу нажимать только на группы форм, которые изменяют свои начальные значения? Прямо сейчас, когда я вижу консоль, она вызывается все время, когда я изменяю какое-либо значение в строке редактирования, т. Е. formgroup. Мне нужно сформировать массив только с отредактированными строками. Пожалуйста, предложите. Спасибо.

Комментарии:

1. Ваш код выглядит странно. Почему вы создаете группы форм внутри метода editRow () -? Разве они у тебя уже не есть? Какова основная цель вашего кода? Пожалуйста, будьте более точны.

2. поскольку я включаю редактирование строк сетки, всякий раз, когда я нажимаю на метод editRows, группы форм будут создаваться для каждой строки с данными, которые она содержит.