如何得到一个孩子';在Typescript中动态键入?

如何得到一个孩子';在Typescript中动态键入?,typescript,Typescript,我有一个带有有限组键的接口,每个键都有不同的枚举 interface Fizz { foo: Enum1; bar: Enum2; baz: Enum3; } 我希望能够在函数中动态地提取单个类型 const func = (key: keyof Fizz) => (buzz: ???) => {} 如何根据键的值定义嗡嗡声的类型?您可以创建一个通用函数,如: const func = <T extends keyof Fizz>(key: T

我有一个带有有限组键的接口,每个键都有不同的枚举

interface Fizz {
    foo: Enum1;
    bar: Enum2;
    baz: Enum3;
}
我希望能够在函数中动态地提取单个类型

const func = (key: keyof Fizz) => (buzz: ???) => {}

如何根据
键的值定义
嗡嗡声的类型?

您可以创建一个通用函数,如:

const func = <T extends keyof Fizz>(key: T) => (buzz: Fizz[T]) => {}

func('baz')(variable); // Now, `variable` need to be Enum3

func('foo')(variable); // And, `variable` need to be Enum1
constfunc=(key:T)=>(buzz:Fizz[T])=>{}
func('baz')(变量);//现在,`variable`需要是Enum3
func('foo')(变量);//并且,`variable`需要是Enum1

您可以创建一个通用函数,如:

const func = <T extends keyof Fizz>(key: T) => (buzz: Fizz[T]) => {}

func('baz')(variable); // Now, `variable` need to be Enum3

func('foo')(variable); // And, `variable` need to be Enum1
constfunc=(key:T)=>(buzz:Fizz[T])=>{}
func('baz')(变量);//现在,`variable`需要是Enum3
func('foo')(变量);//并且,`variable`需要是Enum1