用途:当普通常量或原生 enum 无法满足需求时,用 Enum(...) 定义枚举,集中管理 UI 文本、元数据和查找逻辑。
主要能力:支持键值、标准 { value, label, ...meta }、键标签、数组等多种初始化形式,以及原生 enum 转换;内置 has、label、key、findBy、toList、toMap 等方法,可替代自定义映射或 switch。
使用方式:整个枚举保持一种初始化形状,不要混用;类型名用 PascalCase 加 Enum 后缀,成员键用 PascalCase。优先使用内置方法,UI 选项优先用 enum.items。TypeScript 低于 5.0 时加 as const;可用 typeof MyEnum.valueType、keyType、rawType 获取类型。@enum-plus/plugin-antd 已在 src/main.ts 通过 Enum.install(antdPlugins) 全局安装,toSelect、toMenu、toFilter、toValueMap 可直接使用。
适用场景:替换原生 enum、迁移旧枚举、校验不可信值、生成组件选项列表、反向查找和元数据管理。
限制:项目当前使用直接字符串标签,Enum.localize 未接入且未安装 i18n 插件,不要假设标签已本地化;不要手写修改 enum.items,应视为只读;未安装插件时不要声称插件方法存在。更详细内容见 references/core-api.md 和 references/integration-patterns.md。