Angular FormArray:无法读取未定义的属性“ push”

mycroft16

我的表格分布在3个子组件中。有3个表单组。在第三个组中是一个FormArray。此表单将保存仅为true / false的FormControl。API调用返回的每个结果一个。当此表单是与主表单完全独立的东西时,此方法就很好了。尝试将其集成到具有组的单个表单中导致以下错误:

Cannot read property 'push' of undefined

更改其尝试推送到表单数组的方式将产生“ Push不存在于AbstractControl类型上”错误。这是.ts代码:

public wizard = this.fb.group({
  decisionMaker: this.fb.group({}),
  schedule: this.fb.group({}),
  step2: this.fb.group({
    amount: [0, Validators.required],
    step2DataArray: new FormArray([]),
  }),
});

public get step2DataArray(): AbstractControl[] {
  return (this.wizard.get('step2DataArray') as FormArray).controls;
}

private populateFormArray(): void {
  console.log(this.wizard);
  this.step2DataBehavior.getValue().forEach(() => {
    const control = new FormControl(false);
    (this.wizard.controls.step2DataArray as FormArray).push(control);
  });
}

相关的html

 <ng-container [formGroup]="controlContainer.control" class="px-3 py-3">
    <table mat-table [dataSource]="step2DataBehavior | async" class="w-100 mat-elevation-z8">
    <ng-container matColumnDef="inputs">
      <mat-header-cell *matHeaderCellDef></mat-header-cell>
      <mat-cell *matCellDef="let element; let i = index" formArrayName="step2DataArray">
        <mat-checkbox formControlName="step2DataArray[i]" [value]="element.amount"></mat-checkbox>
      </mat-cell>
    </ng-container>
  </table>
</ng-container>

我知道我要么引用错误的表单部分来进行推送,要么将其设置为抽象控件的公众得到某种程度上的错误。有什么建议吗?我在文档中找不到关于此的任何东西,并且对该问题的其他答案还没有完全解决。

克里斯托弗·佩塞雷(Christopher Peiseret)

由于FormArraystep2DataArray嵌套在内部FormGroup(step2)中,因此您需要指定数组的完整路径。

public get step2DataArray(): AbstractControl[] {
  return (this.wizard.get(['step2', 'step2DataArray']) as FormArray).controls;
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Angular无法读取未定义的属性“ push”

来自分类Dev

如何上传照片(ng2-file-upload)Angular无法读取未定义的属性“ push”

来自分类Dev

Angular无法读取未定义的属性

来自分类Dev

Angular FormArray-无法读取null的属性“ push”

来自分类Dev

TypeError:无法读取未定义的JavaScript属性“ push”

来自分类Dev

合并数组时无法读取未定义的属性“ push”

来自分类Dev

无法读取未定义Javascript的属性“ push”

来自分类Dev

TypeScript:无法读取[null]中未定义的属性“ push”

来自分类Dev

react-router无法读取未定义的属性“ push”

来自分类Dev

react-router“无法读取未定义的属性“ push”

来自分类Dev

TypeError:无法读取JavaScript中未定义的属性“ push”

来自分类Dev

Typescript,React:TypeError:无法读取未定义的属性“ push”

来自分类Dev

NodeJS无法读取未定义的属性“ push”

来自分类Dev

TypeError:无法读取未定义ReactJS的属性“ push”

来自分类Dev

ReactJS钩子无法读取未定义错误的属性“ push”

来自分类Dev

捕获TypeError:无法读取未定义的属性“ push”

来自分类Dev

TypeScript:TypeError:无法读取未定义的属性“ push”

来自分类Dev

如何在angular2中从浏览器获取检查值(面对原始异常:无法读取未定义错误的属性“ push”)

来自分类Dev

无法读取Angular Mobile中未定义的属性“ makeCurrent”

来自分类Dev

无法读取Angular JS中未定义的属性成功

来自分类Dev

Angular TypeError:无法读取未定义的属性“ then”

来自分类Dev

Angular-无法读取未定义的属性“ $ invalid”

来自分类Dev

(Angular http $):无法读取未定义的属性“ length”

来自分类Dev

TypeError:无法读取未定义<Angular 8>的属性'map'

来自分类Dev

Angular:无法读取未定义TypeError的属性“ routeConfig”

来自分类Dev

无法读取未定义的属性“目标”-Ionic Angular

来自分类Dev

Angular无法读取未定义的属性“ navigate”

来自分类Dev

Angular 9 TypeError:无法读取未定义的属性“ subscribe”

来自分类Dev

Angular Material TypeError:无法读取未定义的属性“ id”

Related 相关文章

  1. 1

    Angular无法读取未定义的属性“ push”

  2. 2

    如何上传照片(ng2-file-upload)Angular无法读取未定义的属性“ push”

  3. 3

    Angular无法读取未定义的属性

  4. 4

    Angular FormArray-无法读取null的属性“ push”

  5. 5

    TypeError:无法读取未定义的JavaScript属性“ push”

  6. 6

    合并数组时无法读取未定义的属性“ push”

  7. 7

    无法读取未定义Javascript的属性“ push”

  8. 8

    TypeScript:无法读取[null]中未定义的属性“ push”

  9. 9

    react-router无法读取未定义的属性“ push”

  10. 10

    react-router“无法读取未定义的属性“ push”

  11. 11

    TypeError:无法读取JavaScript中未定义的属性“ push”

  12. 12

    Typescript,React:TypeError:无法读取未定义的属性“ push”

  13. 13

    NodeJS无法读取未定义的属性“ push”

  14. 14

    TypeError:无法读取未定义ReactJS的属性“ push”

  15. 15

    ReactJS钩子无法读取未定义错误的属性“ push”

  16. 16

    捕获TypeError:无法读取未定义的属性“ push”

  17. 17

    TypeScript:TypeError:无法读取未定义的属性“ push”

  18. 18

    如何在angular2中从浏览器获取检查值(面对原始异常:无法读取未定义错误的属性“ push”)

  19. 19

    无法读取Angular Mobile中未定义的属性“ makeCurrent”

  20. 20

    无法读取Angular JS中未定义的属性成功

  21. 21

    Angular TypeError:无法读取未定义的属性“ then”

  22. 22

    Angular-无法读取未定义的属性“ $ invalid”

  23. 23

    (Angular http $):无法读取未定义的属性“ length”

  24. 24

    TypeError:无法读取未定义<Angular 8>的属性'map'

  25. 25

    Angular:无法读取未定义TypeError的属性“ routeConfig”

  26. 26

    无法读取未定义的属性“目标”-Ionic Angular

  27. 27

    Angular无法读取未定义的属性“ navigate”

  28. 28

    Angular 9 TypeError:无法读取未定义的属性“ subscribe”

  29. 29

    Angular Material TypeError:无法读取未定义的属性“ id”

热门标签

归档