观察 formControlName 的变化以及如何知道 formGroup for 循环中变化的哪一行 - Reactive Form

watch for changes for the formControlNames and how to know which row of the changes in the formGroup for loop - Reactive Form

想查看 formGroup for 循环中 formControlNames 的更改,但我如何知道更改对 for 循环的哪个索引进行了更改。例如,如果我想查看 'ruleType' 的 formcontrolname 的更改,valueChanges 不会提供触发更改的特定行的信息。

我尝试订阅 formGroup.value 更改(stackblitz 的 app.component.ts 第 52-58 行)但它不起作用。我必须对其进行评论并使用(stackblitz app.component.ts 的第 46-49 行)for 循环来遍历 formArray,但它似乎也无法检测到 formControlName 中的更改。如果您有任何想法,将不胜感激。

想要修改特定行的特定表单组名称(表单数组的特定索引)。

我的代码库位于: https://stackblitz.com/edit/angular-eazn5i?file=src%2Fapp%2Fapp.component.html

因为您的 StackBlitz 有控制台错误,我构建了一个更简化的版本来满足您的需求StackBlitz

我使用了闭包以便能够访问具有值更改事件的当前表单控件:

for (let formGroup of this.myFormGroups) {
  formGroup.get("firstName").valueChanges.subscribe(control => {
    console.log(formGroup);        
  });
}

现在您可以通过导航到 formGroup.controls.

来访问该控件的兄弟(同一行中的其他控制器)