如果是硬编码选项mgModel,请选择标签默认值

时间:2018-05-28 21:01:04

标签: angular angular5 jhipster ngmodel

通过设置this.model.type = OPTION_NR1选择值,角度将HTML中的HTML归属ng-reflect-model设置为 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 :(得分:2)

更新您的枚举以使用TypeScript's string enum

如果你的枚举看起来像:

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

将其更改为:

UseAuthentication

这是在this pull request中的生成器中完成的,可在v5.0.0-beta.1及更高版本中使用。

答案 1 :(得分:0)

我不知道我是否帮助你。但似乎你希望你的model.type字段是一个字符串而不是代表枚举的索引的0。

所以我假设您的Enum被命名为#34; Types&#34;。试试这种方式:

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

如果这不是您的预期,请更具体。