【发布时间】:2019-08-12 17:09:07
【问题描述】:
我正在尝试制作一个包含问题和一些选项作为答案的表单。添加选项是动态的,所以我尝试使用 formArray 来实现它。 但同时,我需要保存哪个选项是正确的,为此,我对每个选项都使用单选按钮。
问题是当我更改单选按钮时,它并没有取消选中以前的单选按钮。
HTML:
<form [formGroup]="questionForm">
<button type="button" class="iconBtn" title="Add Options" (click)="addOptions()">
Add Option
</button>
<div formArrayName="options">
<div *ngFor="let option of questionForm.controls['options'].controls; let i = index">
<div class="row" [formGroupName]='i'>
<div class="col-xs-1 text-right">
<span class="radio">
<label class="radio-inline" title="Select if this is correct answer">
<input type="radio" [formControlName]="'isCorrect'" value="1" (change)="selectCorrectOption($event)"/>
</label>
</span>
</div>
<div class="col-xs-11">
<input type="text" class="form-control" placeholder="Option Text" [formControlName]="'optionText'"/>
</div>
</div>
</div>
</div>
</form>
TypeScript (ts):
ngOnInit() {
this.questionForm = this._fb.group({
'options': this._fb.array([
this._fb.group({
'isCorrect': [0],
'optionText': ['']
})
])
});
}
public addOptions() {
let control = < FormArray > this.questionForm.controls.options;
control.push(this._fb.group({
'isCorrect': [0],
'optionText': ['']
})
);
}
任何解决方案都将不胜感激。
【问题讨论】: