【发布时间】:2022-10-15 12:13:57
【问题描述】:
我有一个角度应用程序,在我的表单中,我有一个多选。多选值将存储在一个数组中,因此我使用的是 angular formsArray。
在我的 app.component.ts 中:
{{testForm.value|json}}
<form nz-form [formGroup]="testForm">
<div>
<p>Title</p>
<nz-input formControlName="title"></nz-input>
</div>
<div>
<p>Items</p>
<nz-select
[nzMode]="'multiple'"
[nzPlaceHolder]="'Choose items'"
formArrayName="items"
[nzNotFoundContent]="'Item not found'"
>
<nz-option
*ngFor="let item of items"
[nzLabel]="item.title"
[nzValue]="item.id"
>
</nz-option>
</nz-select>
</div>
</form>
在 .ts 文件中:
export class AppComponent {
testForm: FormGroup;
items = [
{
title: "Item 1",
id: 1,
},
{
title: "Item 2",
id: 2,
},
];
constructor(private fb: FormBuilder) {
this.testForm = this.fb.group({
title: "",
items: this.fb.array([]),
});
}
}
然而,问题是,即使我选择了多个项目,但我得到一个像这样的空数组:
{ "title": "test", "items": [] }
项目,属性未填充来自 nz-select 的值。我用这个例子创建了一个应用程序。链接在这里。
【问题讨论】:
-
您需要在
formGroup中使用formArrayName,您可以在本文中阅读更多内容c-sharpcorner.com/article/how-to-create-formarray-in-angular
标签: angular