如何解决错误错误:无法找到带有路径的控件:Angular FormArray
我正在使用 branch-name = "!git rev-parse --abbrev-ref HEAD"
pub = "!f(){ git push -u origin HEAD^:$(git branch-name); };f"
进行匿名 formArray 输入(自动完成)以查找项目。
添加自动完成后,自动完成输入不起作用,尽管它独立工作正常。
错误信息是 autocomplete
你能帮我改进代码吗?
谢谢。
ERROR Error: Cannot find control with path: 'orderItems -> 0 -> search'
<form [formGroup]="orderForm">
<div formArrayName="orderItems">
<div *ngFor="let orderItem of getControls(); let i = index" [formGroupName]='i'>
<p-autoComplete
formControlName="search"
(onSelect)="onSelect($event)"
[suggestions]="list">
</p-autoComplete>
</div>
</div>
<p-button (click)="onAdd()"> add </p-button>
</form>
解决方法
最初使用空数组设置表单
buildForm() {
this.orderForm = this.fb.group({
orderItems: this.fb.array([]),});
}
然后获取数组的数据并填充数组
setOrderItemArray() {
const orderItemsArray = this.orderForm.get('orderItems') as FormArray;
this.orderItemsList.forEach(item => {
orderItemsArray.push(this.buildOrderItemsForm(item))
});
}
buildOrderItemsForm(item): FormGroup {
return this.fb.group({
id: item.id,search: item.search,name: item.name
})
}
现在您在数组的每个对象中都有一个“搜索”实例,并且可以为每个对象独立使用搜索自动完成功能。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。