Выберите значение тега по умолчанию в случае жестко закодированных параметров mgModel - PullRequest
0 голосов
/ 29 мая 2018

Выбрав значение, установив this.model.type = OPTION_NR1, angular устанавливает для атрибута HTML ng-reflect-model в HTML значение 0 , которое является значением по умолчанию для перечисления и Option1.Правильное значение для атрибута HTML: OPTION_NR1 , которое заполняет раскрывающийся список параметром Option1, а не оставляет его пустым.

Какие текущие настройки выполняет : <select .. ng-reflect-model="0">
Что он должен делать : <select .. ng-reflect-model="OPTION_NR1">

<select [(ngModel)]="model.type"  required>
   <option value="OPTION_NR1" >Option1</option>
   <option value="OPTION_NR2" >Option2</option>
</select>

Ответы [ 2 ]

0 голосов
/ 29 мая 2018

Обновите ваше перечисление, чтобы использовать Строковое перечисление TypeScript .

Если ваше перечисление выглядит так:

export const enum Type {
    'OPTION_NR1',
    'OPTION_NR2'
}

Измените его на:

export const enum Type {
    OPTION_NR1 = 'OPTION_NR1',
    OPTION_NR2 = 'OPTION_NR2'
}

Это было сделано в генераторе в этом запросе на получение и доступно в версиях v5.0.0-beta.1 и выше.

0 голосов
/ 29 мая 2018

Я не знаю, правильно ли я вас понял.Но кажется, что вы хотите, чтобы ваше поле model.type было строкой, а не 0, представляющим индекс перечисления.

Так что я предполагаю, что ваше Enum называется "Types".Попробуйте это так:

this.model.type = Types[this.model.type];

Если это не то, что вы ожидали, пожалуйста, будьте более конкретны.

...