说我有一个函数getSingle()
,它接受像这样的对象数组:
[{
value: 'm',
name: 'Male',
}, {
value: 'f',
name: 'Female',
}]
在执行选择之后,在这种情况下,它仅返回所选对象的value
(即m
或f
)。
我有一个定义为Sex
的枚举类型'm' | 'f'
因此,当给定输入值时,我希望getSingle
返回类型Sex
。 getSingle
的签名是什么?
getSingle(choices: Array<{
value: string,
name: string,
}>): ?
答案 0 :(得分:0)
看起来您将需要在此处使用通用类型-> https://flow.org/en/docs/types/generics/
因此您的泛型类型的案例将是:
getSingle<T>(choices: Array<{
value: T,
name: string,
}>): T
还可以指定泛型应为哪种类型,如下所示:
type Sex = 'm'| 'f';
getSingle<T: Sex>(choices: Array<{
value: T,
name: string,
}>): T
在此详细了解此案-> https://flow.org/en/docs/types/generics/#toc-adding-types-to-generics