首页 > 解决方案 > 将参数分配为 TS 枚举的一个值?

问题描述

我有一个打字稿枚举...

enum Animals {
  CAT = 'cat',
  DOG = 'dog',
  FISH = 'fish'
}

我有一个函数,其参数可以是枚举的值之一。我怎么打字??

function getAnimal (param: ValueOf<Animal>) {
  return 'Your animal is a ' + param; 
}

我的目标是能够在我的代码中的其他地方导出这个函数,并让智能感知说参数可以是'cat'|'dog'|'fish'

标签: typescript

解决方案


enum Animals {
  cat = 'cat',
  dog = 'dog',
  fish = 'fish'
}

function getAnimal (param: keyof typeof Animals) {
  return 'Your animal is a ' + param; 
}

推荐阅读