首页 > 解决方案 > 打字稿 - 将字符串值限制为枚举值

问题描述

我想role拥有以下值之一:ADMIN / USER / GUEST.

我尝试使用 来实现这一点enum,但是在以下最小示例中出现错误:

enum EnumRole {
  ADMIN = 'ADMIN',
  USER = 'USER',
  GUEST = 'GUEST',
}

/* ------------------------------------------------- */

const role: EnumRole.ADMIN = 'ADMIN';

类型“ADMIN”不能分配给类型“EnumRole.ADMIN”。

检查操场示例

有任何想法吗?

标签: typescriptenums

解决方案


您需要将角色类型设置为强类型,您可以这样做,

const role:'ADMIN' | 'USER' | 'GUEST' = 'ADMIN'

现在该类型将被限制在 ADMIN/USER/GUEST 中。enum在这种情况下你不需要


推荐阅读