"Indexausdrucksargumente in 'const'-Enums müssen vom Typ' string 'sein"
Diese Fehlermeldung ist nicht eindeutig:
Scheint, dass es sein sollte
"Das Indexausdrucksargument von 'const' enum muss ein String-Literal sein."
Weil der Compiler dies tut:
if (isConstEnumObjectType(objectType) && node.argumentExpression && node.argumentExpression.kind !== SyntaxKind.StringLiteral) {
error(node.argumentExpression, Diagnostics.Index_expression_arguments_in_const_enums_must_be_of_type_string);
}
Eine PR wäre dankbar
Die Meldung lautet jetzt "Auf ein Const-Enum-Mitglied kann nur mit einem String-Literal zugegriffen werden.", Sieht für mich gut aus.
Wenn jemand das gleiche Problem hat, versuchen Sie einfach, 'const' zu entfernen, und alles wird einfach funktionieren.
Nun, es ist nicht ganz richtig, Sie müssen etwas tun wie:
enum MyEnum{
A, B, C
}
let index = 2;
// this is how you can get the value from the enum without haveing tslint error message.
(<any>MyEnum)[index]
Hilfreichster Kommentar
Wenn jemand das gleiche Problem hat, versuchen Sie einfach, 'const' zu entfernen, und alles wird einfach funktionieren.
Nun, es ist nicht ganz richtig, Sie müssen etwas tun wie: