我在Typescript中有下面的枚舉類型。如何在Typescript中設置枚舉顯示名稱?
enum RoleTypes{
None,
Admin,
SuperAdmin
}
當運行代碼
var roleName = RoleTypes[RoleTypes.SuperAdmin];
變量ROLENAME是超級管理員,是否有可能將其更改爲一個自定義名稱「超級管理員」,我該怎麼做呢?
我在Typescript中有下面的枚舉類型。如何在Typescript中設置枚舉顯示名稱?
enum RoleTypes{
None,
Admin,
SuperAdmin
}
當運行代碼
var roleName = RoleTypes[RoleTypes.SuperAdmin];
變量ROLENAME是超級管理員,是否有可能將其更改爲一個自定義名稱「超級管理員」,我該怎麼做呢?
可以使用此一seperat對象或陣列(Playground):
enum RoleTypes {
None,
Admin,
SuperAdmin
}
let RoleTypesDisplay: { [index: number]: string } = {};
RoleTypesDisplay[RoleTypes.None] = "None";
RoleTypesDisplay[RoleTypes.Admin] = "Administrator";
RoleTypesDisplay[RoleTypes.SuperAdmin] = "Super Administrator";
var roleName = RoleTypesDisplay[RoleTypes.SuperAdmin];
alert(roleName);
// because RoleTypes is a number based enum that starts with 0 this is equals to
RoleTypesDisplay = ["None", "Administrator", "Super Administrator"];
var roleName = RoleTypesDisplay[RoleTypes.SuperAdmin];
alert(roleName);
作爲打字稿2.4的直接you can assign字符串值枚舉成員
enum RoleTypes{
None = "None",
Admin = "Administrator",
SuperAdmin = "Super Administrator"
}
另見here
是的,只需使用帶引號的標識符創建別名
enum RoleTypes {
None,
Admin,
SuperAdmin,
'Super Administrator' = SuperAdmin
}
未嘗試,因爲它沒有發佈。在typescript 2.4中,RoleTypes.None,0或'None'的價值是什麼? –
我想RoleTypes.None保持爲0,而RoleTypes [RoleTypes.None]的值爲'None'。或RoleTypes.SuperAdmin保持值2,RoleTypes [RoleTypes.SuperAdmin]的值爲'超級管理員'。可能嗎? –
根據GH的提交,你可以有混合類型的枚舉,包括int和字符串 –