【发布时间】:2021-04-06 08:00:39
【问题描述】:
我希望 role 具有以下值之一:ADMIN / USER / GUEST。
我尝试使用enum 来实现它,但是在以下最小示例中出现错误:
enum EnumRole {
ADMIN = 'ADMIN',
USER = 'USER',
GUEST = 'GUEST',
}
/* ------------------------------------------------- */
const role: EnumRole.ADMIN = 'ADMIN';
类型“ADMIN”不可分配给类型“EnumRole.ADMIN”。
有什么想法吗?
【问题讨论】:
-
不应该是
const role: EnumRole = EnumRole.ADMIN;吗? -
在我的项目中,我无法更改
role = 'ADMIN'部分。我只能更改枚举模型和/或类型分配。怎么可能做到? -
如果要从字符串中赋值:
const role: EnumRole = EnumRole['ADMIN'] -
这个帖子可能是你要找的:github.com/Microsoft/TypeScript/issues/17690
标签: typescript enums