Я работаю над симулятором экзамена. Я создал экзамен с несколькими вариантами ответов и хотел бы каждый раз перетасовывать возможные ответы, но не могу найти ответ ..
Код, который у меня есть:
TS
loadForm(data) {
this.maxindex = data.length;
this.status = 1
for (let ques = 0; ques < data.length; ques++) {
const questionsFormArray = this.examForm.get("questions") as FormArray;
questionsFormArray.push(this.question);
for (let opt = 0; opt < data[ques].options.length; opt++) {
const optionsFormsArray = questionsFormArray.at(ques).get("options") as FormArray;
optionsFormsArray.push(this.option);
}
}
this.examForm.controls.questions.patchValue(data);
}
HTML
<div formArrayName="questions">
<div *ngFor="let question of examForm.get('questions').controls;let questionIndex=index"
[formGroupName]="questionIndex">
<div *ngIf="questionIndex==index">
<label>{{questionIndex+1}}) {{examForm.value.questions[questionIndex].description}} </label>
<br />
<div formArrayName="options">
<div *ngFor="let option of question.get('options').controls; let optionIndex=index"
[formGroupName]="optionIndex">
<input type="checkbox" formControlName="selected" value=""(change)="checkValue(questionIndex.
optionIndex)"/>
{{examForm.value.questions[questionIndex].options[optionIndex].response}}
</div>
</div>
</div>
</div>
</div>
Это параметры FormsArray, которые я хотел бы перетасовать каждый раз, кто-нибудь может помочь?