我认为这可能是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);
}
答案 0 :(得分:0)
在ngFor中,而不是.value,它应该是.controls