Я пытаюсь создать форму в Angular с полем выбора, значения которого берутся из массива. Мне также нужна форма для отображения входных данных на основе значения этого выбора. Это код:
<select #freq formControlName="freq" class="m-2">
<option disabled>Select</option>
<option value="">Select Option</option>
<option *ngFor="let x of freq_list" [ngValue]="x">{{x}}</option>
</select>
<div *ngIf="freq.value!=''">
{{freq.value}}
<div *ngFor="let x of parameter_config[freq.value]">
<input type="number" formControlName="input1">
</div>
</div>
, где freq_list - это простой string[]=['option1',option2',option3']
, а параметр_config - это карта {[id:string]: string[];}
, где id - это значение freq_list
. И это создание формы:
form=this.fb.group({
freq:'',
});
Все работает, за исключением того, что значение, возвращаемое выбранной опцией, не просто «option1», а ему предшествует порядок в списке (например, '1: option1'
, '2: option2'
, ...)
Что-то мне не хватает? Как это поведение по умолчанию?