获取typescript对象中key对应的值



我有一个这样的类型:

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]
};

动态构建数组什么的,没看清楚这部分吗?

相关内容

  • 没有找到相关文章

最新更新