首页 > 解决方案 > 如何从 TypeScript 枚举(Angular 6)中获取价值

问题描述

我将枚举的数值保存在我的数据库中,并将其返回到不同区域的 UI。现在我想在不同的角度分量中提取与枚举中的该数值相关联的字符串值。

我有一个像这样的枚举:

export enum ReportedResourceStatusEnum {
    New = 1,
    Reviewed = 2,
    Escalated = 3,
    Resolved = 4
}

该值(1、2、3、4)作为字符串属性(nvarchar)存储在表中。当我调用 api 时,会返回一个对象,如下所示:

{
   something: 'Something',
   status: '1'
}

当我向 UI 显示时,会显示“1”。如何注入Enum class并提取与值 1 关联的字符串。在这种情况下,是单词New.

标签: angulartypescriptenums

解决方案


语法是:ReportedResourceStatusEnum[1]

试试这个:

export enum ReportedResourceStatusEnum {
  New = 1,
  Reviewed = 2,
  Escalated = 3,
  Resolved = 4
}


export class AppComponent {
  data = {
    something: 'Something',
    status: '1'
  }

  constructor() {
    console.log(ReportedResourceStatusEnum[Number(this.data.status)]) //New
  }
}

推荐阅读