我有一个这样的类型:
type newsLink = {
img: string;
slug: newsKeys;
text: newsValues;
};
从enum开始:
export const news = {
interesting: "Интересно",
regions: "Регионы",
contradictory: "Спорно",
important: "Важно",
actual: "Актуально",
};
,
type newsKeys = keyof typeof news;
type newsValues = typeof news[keyof typeof news];
我想知道,是否有可能在typescript中键入slug作为特定的键,然后在enum新闻中键入文本作为其相应的值?
试过了,但是没有用:
type newsLink<T extends NewsKeys> = {
img: string;
slug: T;
text: typeof news[T];
};
因为我想稍后动态地创建一个数组
不确定是什么问题?只是使用了const断言,其他内容基本上与您的代码相同。
export const news = {
interesting: "Интересно",
regions: "Регионы",
contradictory: "Спорно",
important: "Важно",
actual: "Актуально",
} as const;
type News = typeof news;
type NewsKeys = keyof News;
type NewsValues = News[NewsKeys];
type NewsLink<T extends NewsKeys> = {
img: string;
slug: T;
text: News[T]
};
动态构建数组什么的,没看清楚这部分吗?