utils.ts 481 B

123456789
  1. export function getEnumOptions<T extends string | number, M extends Record<T, string>>(enumObj: Record<string, T>, nameMap: M) {
  2. return Object.entries(enumObj)
  3. .filter(([_key, value]) => !isNaN(Number(value)) || typeof value === 'string') // 保留数字和字符串类型的值
  4. .filter(([key, _value]) => isNaN(Number(key))) // 过滤掉数字键(枚举的反向映射)
  5. .map(([_key, value]) => ({
  6. label: nameMap[value as T],
  7. value: value
  8. }));
  9. }