角度(表单数组)值更改不起作用

Arg*_*ury 8 javascript angular-forms formarray angular-formbuilder

表单数组值更改不起作用。我无法控制订阅者方法内的值。下面是我的基本表单数组代码。

ordersData = [
 { id: 100, name: 'order 1' },
 { id: 200, name: 'order 2' },
 { id: 300, name: 'order 3' },
];

this.formGroup = this.formBuilder.group({
      testControl: this.formBuilder.array([])
  });

 get formGroupControl() {
    return (this.formGroup.get('testControl') as FormArray);
  }

 private addFormControl() {
    this.ordersData.forEach((o, i) => {
      (this.formGroup.get('testControl') as FormArray).controls.push(this.formBuilder.control(''));
    });
  }
Run Code Online (Sandbox Code Playgroud)

我在 ngOnInit() 中调用了这个 addFormControl() 函数,如果我尝试使用以下方式查看值更改

this.formGroup.get('testControl').valueChanges.subscribe(value => {
      console.log('log', {value});
    });
Run Code Online (Sandbox Code Playgroud)

该控制台无法正常工作..带我了解处理表单数组的正确方法

Mau*_*cco 27

我遇到了同样的问题(我认为),通过添加到 formArray 的表单formArray.controls.push不起作用,我通过使用formArray.push来修复

  • 你救了我的命!现在这是有道理的,添加到控件数组实际上并没有将值更改事件挂钩在一起。 (7认同)