Я пытаюсь реализовать динамические формы для моего углового приложения, и я следую за https://angular.io/guide/dynamic-form
У меня есть вопрос с флажком с более чем 4 вариантами флажков.
МойНа данный момент модель вопросов с флажками похожа на выпадающий список только с одним formControllerName ("fruits_key")
export class CheckBoxQuestion extends QuestionBase<string> {
controlType = "checkbox";
options: {key: string, value: string}[] = [];
constructor(options: {} = {}) {
super(options);
this.options = options["options"] || [];
}
, и мой объект
new CheckBoxQuestion({
key: "fruits_key",
label: "Choose Fruits",
options: [
{ key: "Apple", value: true },
{ key: "Orange", value: false },
{ key: "Grapes", value: false },
{ key: "Banana", value: false }
]
})
Вот мой HTML-код для отображения элементов флажка
<ng-container *ngSwitchCase="'checkbox'">
<div class="d-flex">
<div class="custom-control custom-checkbox" *ngFor="let opt of question['options']; index as idx">
<input type="checkbox" class="custom-control-input" [formControlName]="question.key"
[checked]="opt.value" ">
<label class="custom-control-label">{{opt.key}}</label>
</div>
</div>
</ng-container>
Q) Проблема связана с [formControlName], который установлен одинаковым для всех элементов флажка.Как правильно реализовать элементы флажка, нужно ли переписать модель флажка?Пожалуйста, сообщите, если у вас есть лучшее решение.
Angular Site Demo: https://angular.io/generated/live-examples/dynamic-form/stackblitz.html