如何解决在 FormBuilder 中包含 FormArray 时出错
我正在 Angular 中创建响应式表单。在其中,我试图在我现有的 embedded FormArray
中 FormBuilder
。以下是代码详情。
组件文件中的逻辑
this.addLoadTypeForm = this.formbuilder.group({
'loanDescription': new FormControl('',[
Validators.required,Validators.maxLength(20)]),users: new FormArray([
new FormControl('test'),new FormControl('Testing')
])
})
HTML 代码
<form [formGroup]="addLoadTypeForm">
<table>
<tr>
<td>
<div class="form-group">
<label>
descriptions
</label>
<textarea formControlName='loanDescription'></textarea>
</div>
</td>
</tr>
<tr>
<td>
<div class="form-group" formArrayName="users">
<label>Users</label>
<div *ngFor="let control of addLoadTypeForm.controls.users['controls'];let i=index">
<!-- <input type="text" [formControlName]="i"> -->
</div>
</div>
</td>
</tr>
</table>
</form>
我遇到的错误
元素隐式具有 any
类型,因为类型 AbstarctControl
具有
没有索引签名。你的意思是叫“get”?
PS:我也试过“让控制 addLoadTypeForm.get('control')['controls']; let i = index;”仍然不适合我
解决方法
FormArray 中的表单控件未命名,您可以将它们与 formControl 一起使用,而不是 formControlName
<div *ngFor="let control of addLoadTypeForm.controls.users['controls'];let i=index">
<input type="text" [formControl]="control">
</div>
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。