以对象作为打字稿中的键的接口或类型

Interface or type with object as key in typescript

我有一个包含一系列值的对象:

const my_enum = {
    value1: 'x-value-1',
    value2: 'x-value-2'

}

我想使用 'x-value-1' 和 'x-value-2' 作为接口或类型的键,例如

interface my_interface {
    'x-value-1': string;
    'x-value-2': string;
}

但是,我不想使用我的枚举来确定键,所以我可以在其余代码中使用它们,如果我想更改我的键,我不需要担心我的琴弦到处都是。有没有办法做类似下面的事情?

interface my_interface {
    `${value1}`: string;
    `${value2}`: string;
}

试试这个

const TextType = "Text"; // or "Message" etc
const TitleType = "Title";
const PriorityType = "Priority";

type Notification {
    [TextType]?: string
    [TitleType]?: string
    [PriorityType]?: number
}