无法在反应形式的formarray中使用formgroup键入多于1个字符

时间:2017-11-13 16:14:21

标签: angular angular4-forms

我认为这可能是Reactive Form的错误。我将非常感谢更有经验的Angular专家的帮助。

症状:在给定时间无法在输入中键入多个字符。

出现:当输入是FormArray中的FormGroup

特别说明:我没有使用过FormBuilder

代码:模板(.html文件)

<form [formGroup]="profileSetup">
<div formArrayName="company">
          Company : 
          <div *ngFor="let companyControl of profileSetup.get('company').value;let i=index;" [formGroupName]="i">
            <br>
            Company Name:<br>
            <input type="text" formControlName="company_name"><br>
            Company Address:<br>
            <input type="text" formControlName="company_address" ><br>
            Started On:<br>
            <input type="date" formControlName="started_on"><br>
            Ended On:<br>
            <input type="date" formControlName="ended_on"><br>
            Title(Worked As):<br>
            <input type="date" formControlName="title"><br>
        </div>
      </div>
      <input type="Submit" value="Submit">
    </form>
    <button value="Add Company" (click)="addCompany()"> Add Company</button><br>

profile.component.ts

profileSetup:FormGroup
    ngOninit(){
      this.profileSetup=new FormGroup({
company:new FormArray([])
})
    }

addCompany(){
        const control=new FormGroup({
          company_name:new FormControl(''),
          company_address:new FormControl(''),
          started_on:new FormControl(''),
          ended_on:new FormControl(''),
          title:new FormControl('')
        });
        (<FormArray>this.profileSetup.get('company')).push(control);
        console.log(this.profileSetup.get('company').value);
      }

1 个答案:

答案 0 :(得分:0)

在ngFor中,而不是.value,它应该是.controls