Удалить номер заказа в строке из значения опции Angular - PullRequest
0 голосов
/ 05 августа 2020

Я пытаюсь создать форму в 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', ...)

Что-то мне не хватает? Как это поведение по умолчанию?

1 Ответ

1 голос
/ 05 августа 2020

заменить ngValue на значение

<option *ngFor="let x of freq_list" [ngValue]="x">{{x}}</option>

должно быть

<option *ngFor="let x of freq_list" [value]="x">{{x}}</option>
...