【发布时间】:2021-01-21 09:58:38
【问题描述】:
我想要一种方法来拥有一个具有单个泛型的接口,其中一个属性是keyof T,另一个是正确的T[keyof T],传递给第一个属性。
下面的代码几乎满足了这个要求,正确输入了第一个属性(field):
interface RandomType {
foo: string;
bar: number;
baz: boolean;
}
type Typer<T = Record<string, any>> = {
field: keyof T,
value: T[any]
}
const param: Typer<RandomType> = {
field: 'baz',
value: 'foo'
}
但是,我需要根据field 的值输入value
在前面的例子中,它应该触发一个类型错误,因为RandomType['baz'] 是boolean
【问题讨论】:
标签: typescript typescript-generics