相关疑难解决方法(0)

当FormArray嵌套在另一个FormArray中时,如何获取FormArrayName?

引用:https : //angular.io/docs/ts/latest/api/forms/index/FormArrayName-directive.html ://angular.io/docs/ts/latest/api/forms/index/FormArrayName-directive.html,很容易获得FormArrayName:

HTML:

<form [formGroup]="form" (ngSubmit)="onSubmit()">
  <div formArrayName="cities">
    <div *ngFor="let city of cities.controls; index as i">
       <input [formControlName]="i" placeholder="City">
    </div>
  </div>
  <button>Submit</button>
</form>
Run Code Online (Sandbox Code Playgroud)

TS:

form = new FormGroup({
  cities: new FormArray([
    new FormControl('SF'),
    new FormControl('NY'),
  ]),
});

get cities(): FormArray { return this.form.get('cities') as FormArray; } 
// This does the magic!
Run Code Online (Sandbox Code Playgroud)

DOM <div formArrayName="cities"> 使用吸气剂 get cities(): FormArray { return this.form.get('cities') as FormArray; } ,一切都像魅力一样工作

但

当FormArray嵌套在另一个FormArray中时,如何进行吸气剂处理?

假设这个例子:

TS:

form = new FormGroup({
  cities: new FormArray([
    new …
Run Code Online (Sandbox Code Playgroud)

forms arrays getter nested angular

3
推荐指数
1
解决办法
7674
查看次数

Angular5 Reactive Forms:另一个表单数组中的Form数组

我试图FormArray在另一个内部添加,FormArray但无法弄清楚如何做到这一点.

我在我的打字稿文件中有这个:

createForm() {
    this.myForm = this.formBuilder.group({
        people: this.formBuilder.array([
            { addresses: this.formBuilder.array([]) }
        ])
    });
}
Run Code Online (Sandbox Code Playgroud)

基本上,我试图说一个人FormArray,每个人可以有多个地址.我尝试在我的html中渲染它:

<div [formGroup]="myForm">
    <div formArrayName="people">
        <div *ngFor="let person of people.controls; let i=index">
            Person {{ i + 1 }}

            <div *ngFor="let address of person.addresses.controls; let j=index">
                Address {{ j + 1 }}
            </div>
        </div>
    </div>
</div>
Run Code Online (Sandbox Code Playgroud)

当然,这只是一个例子,我的实际形式会有更多的进展.我有一个"添加人"链接,它调用我的打字稿中的一个函数,将一个对象推送给人FormArray.

当我打电话时createForm(),我在浏览器中收到以下错误:

ERROR TypeError: this.form._updateTreeValidity is not a function
ERROR TypeError: this.form.get is not a function
Run Code Online (Sandbox Code Playgroud)

我究竟做错了什么?我如何完成我想做的事情?任何帮助,将不胜感激!

forms typescript angular angular-reactive-forms angular5

2
推荐指数
1
解决办法
2191
查看次数