Присвойте ключ перечисления TypeScript переменной - PullRequest
0 голосов
/ 04 апреля 2020

У меня есть следующая строка enum:

export enum ReportGraphTypes {
    OverallGraph = "Long description...",
    OverallByDateGraph = "....",
    MilageGraph = "....",
    FuelPricesGraph = "....",
    FuelConsumptionGraph = "...."
}

Затем я сопоставляю enum для выбора поля и использую ключ enum в качестве значения. Я хочу передать значение по умолчанию в поле выбора и всегда могу сделать следующее:
let selected = "OverallGraph";, но это жестко закодировано.
Я также пытался:
let selected = ReportGraphTypes[ReportGraphTypes.OverallGraph];, но я получил следующую ошибку:
Element implicitly has an 'any' type because expression of type 'ReportGraphTypes.FuelPricesGraph' can't be used to index type 'typeof ReportGraphTypes'.
Каков наилучший способ присвоения этого ключа моей переменной?

1 Ответ

1 голос
/ 04 апреля 2020

Может быть, попробуйте использовать операторы keyof typeof для получения ключей? Обычно я использую тот же подход, что и в вашем втором решении, и у меня до сих пор не было проблем с ним. Возможно, это потому, что этот подход работает только для значений типа number. Но, возможно, вы могли бы вместо этого использовать объект карты.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...