代码之家  ›  专栏  ›  技术社区  ›  Viktor Reinok

在硬编码选项mgmodel的情况下选择标记默认值

  •  0
  • Viktor Reinok  · 技术社区  · 6 年前

    通过设置选择值 this.model.type = OPTION_NR1 ,角度集HTML属性 ng-reflect-model 在HTML到 ,这是默认的枚举值和选项1。HTML属性的正确值是 选项1 ,它用选项1填充下拉列表,而不是将其保留为空。

    当前设置的功能 : <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 回复  |  直到 6 年前
        1
  •  2
  •   Jon Ruddell    6 年前

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

    如果枚举看起来像:

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

    更改为:

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

    这是在发电机中完成的 this pull request 在版本v5.0.0-beta.1及更高版本中提供。

        2
  •  0
  •   Lynx 242    6 年前

    我不知道我是否理解你的意思。但似乎您希望model.type字段是一个字符串,而不是表示枚举索引的0。

    所以我假设您的枚举名为“types”。试试这个方法:

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

    如果这不是你所期望的,请更具体一些。