typescript - 打字稿 - 将字符串值限制为枚举值
问题描述
我想role
拥有以下值之一:ADMIN / USER / GUEST
.
我尝试使用 来实现这一点enum
,但是在以下最小示例中出现错误:
enum EnumRole {
ADMIN = 'ADMIN',
USER = 'USER',
GUEST = 'GUEST',
}
/* ------------------------------------------------- */
const role: EnumRole.ADMIN = 'ADMIN';
类型“ADMIN”不能分配给类型“EnumRole.ADMIN”。
有任何想法吗?
解决方案
您需要将角色类型设置为强类型,您可以这样做,
const role:'ADMIN' | 'USER' | 'GUEST' = 'ADMIN'
现在该类型将被限制在 ADMIN/USER/GUEST 中。enum
在这种情况下你不需要
推荐阅读
- objective-c - 访问 URLSessionConfiguration 子类的属性时无法识别的选择器
- sql - SQL 根据列表检查缺失的值
- iframe - 如何在电子框架中调试 iframe/webview
- ansible - 当播放返回多个值时,是否可以设置/查找 Ansible 事实
- mysql - 如何修复“文件系统和mysql数据库之间的冲突”
- php - 在 WooCommerce 通知中剥离 Echo 功能
- codeigniter - CodeIgniter - 如何防止显示 PHP 通知?
- java - Android电话短信接收器不工作
- javascript - 电子:Lodash不在电子主进程中工作
- php - macOS Mojave 使用 php CLI 更新混乱