【发布时间】:2020-05-06 04:57:14
【问题描述】:
我有一个返回 N 个对象“问题”的服务。我必须用 3 个表单控件创建 N 个表单组。问题是,当我创建表单时,它们似乎是相同的。如果我从第一个 formControlName 更改一个值,它也会更改另一个第一个 formControlName
打字稿:
createFormQuestions(questions ?: Question[]) {
for (let i = 0; i < questions.length; i++) {
this.formQuestion = this.formBuilder.group({
parameter1: [null, Validators.required],
parameter2: [null, Validators.required],
parameter3: [null, Validators.required],
});
this.questionsFormArray.push(this.formQuestion);
}
}
HTML:
<accordion-tab *ngFor="let question of questionsItems; let i = index;" class="mb-2" id="lazyAccordionTab-{{i}}">
<form [formGroup]="formQuestion" class="col-xs-12 col-sm-12 col-md-12 col-lg-12">
<div *ngIf="domanda" class="row w-100 mt-2">
<!-- input parameter 1 -->
<div *ngIf="question.parameter1" class="col-xs-4 col-sm-4 col-md-4 col-lg-4 form-group">
<input formControlName="parameter1" class="questionario-input-border form-control" type="text">
</div>
<!-- input parameter 2 -->
<div *ngIf="question.parameter2" class="col-xs-4 col-sm-4 col-md-4 col-lg-4 form-group">
<input formControlName="parameter2" class="questionario-input-border form-control" type="text">
</div>
<!-- input parameter 3 -->
<div *ngIf="question.parameter3" class="col-xs-4 col-sm-4 col-md-4 col-lg-4 form-group">
<input formControlName="parameter3" class="questionario-input-border form-control" type="text">
</div>
</div>
</form>
</accordion-tab>
很遗憾,我无法添加堆栈闪电战。
【问题讨论】: