【发布时间】:2018-05-11 16:04:57
【问题描述】:
服务器中的angular 5项目我必须接收多个项目以保存在数据库中..
在角度方面我试图创建一个表单来传递多个项目...
按下时我需要一个按钮为用户添加另一个输入以添加另一个我几乎完成但我不知道如何保持输入我尝试了一些链接这个但它不起作用你能告诉我我该如何解决这个问题?
我的组件:
export class RequirementFormComponent implements OnInit {
private requirment: Requirement;
orderForm: FormGroup;
items: FormArray;
constructor(private form: FormDataService, private formBuilder: FormBuilder, private router: Router) {
}
ngOnInit() {
this.requirment = this.form.getRequirment();
this.orderForm = this.formBuilder.group({
items: this.formBuilder.array([this.createItem()])
});
}
addItem(): void {
this.items = this.orderForm.get('items') as FormArray;
this.items.push(this.createItem());
}
}
createItem(): FormGroup {
return this.formBuilder.group({
item: '',
});
}
html:
<ul class="eff">
<li>
<div>
<form [formGroup]="orderForm" class="editForm" novalidate>
<div class="input-field" *ngFor="let item of orderForm.get('items').controls; let i = index;">
<input class="form-control" formControlName="items" [ngModel]="item"
type="text" maxlength="50">
</div>
</form>
</div>
</li>
</ul>
【问题讨论】:
-
您的
createItem函数在哪里?您将需要模板中的formArrayName="items",其余部分取决于createItem返回的内容。 -
抱歉错过更新
-
你能把你的解决方案发布为答案吗?