无法在反应形式的 formarray 中使用 formgroup 输入超过 1 个字符
Unable to type more than 1 character with formgroup within a formarray in reactive form
我认为这可能是 Reactive Form 的一个错误。如果有经验丰富的 Angular 专家提供任何帮助,我将不胜感激。
问题现象:无法在给定时间输入超过 1 个字符。
发生:当输入是 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);
}
在 ngFor 中,.value 应该是 .controls
我认为这可能是 Reactive Form 的一个错误。如果有经验丰富的 Angular 专家提供任何帮助,我将不胜感激。
问题现象:无法在给定时间输入超过 1 个字符。
发生:当输入是 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);
}
在 ngFor 中,.value 应该是 .controls