我想创建一个类型,其中对象键是来自对象值的值。
示例:
type AreaChartData = {
xAxis: string;
yAxis: string;
data: {
[Key in AreaChartData['xAxis'] | AreaChartData['yAxis']]: string | number;
}[];
};
在我的例子中,我希望xAxis和yAxis是字符串,但是在"data"属性中,xAxis和yAxis的值应该被用作字符串,这样我就可以强制用户至少有两个键来命名这些值。
现在它的一种工作方式是定义两个泛型并在以后使用它们。但我希望我能动态地将值转换为类型。
我用的是最新版的 typescript 。
1条答案
按热度按时间ut6juiuv1#
您将永远无法将值转换为类型。
类型只存在于编译时。
值只存在于运行时。
您在此问题中创建的类型等效于:
下面是一个建议: