在TypeScript / Angular2中将Int数组转换为Enum

问题描述 投票:2回答:2

在正在构建的应用程序中,我们创建了一个名为UserRolesEnum的Enum,就像这样

public enum UserRoleEnum {
    Aministration = 1,
    Manager = 2,
    Employee = 3
}

将此信息发送到数据库时,将存储int。

在用于在系统中显示用户的页面上,组件中返回的TypeScript是一个数组和一个int数组(例如[1,2,3])。

使用TypeScript和Angular2的组合,以下内容用于显示用户的角色:

<div class="role" *ngFor="let role of userRoles">
    <span>{{role}}</span>
</div>

我想要显示的是[Administration,Manager,Employee]数组。

我已经尝试了几种不同的方法,但到目前为止它们都没有。是否有一个简单的转换,我可以继续使用阵列功能?

arrays angular typescript enums type-conversion
2个回答
-1
投票

我认为您需要将该数字作为索引传递给枚举。你能试试吗?

<span>{{UserRoleEnum[role]}}</span>

您可能还需要在组件代码中添加枚举。

public UserRoleEnum = UserRoleEnum;

要么;

UserRoleEnum : typeof UserRoleEnum = UserRoleEnum;

0
投票

使用for循环的索引

<div class="role" *ngFor="let role of userRoles; let i = index">
    <span>{{i}}</span>
</div>
© www.soinside.com 2019 - 2024. All rights reserved.