J'ai une énumération de valeurs de chaînes de caractères. Je veux passer une valeur de chaîne à l'énumération et en récupérer la valeur.
export enum OperationType {
CREATE = "CREATE",
UPDATE = "UPDATE"
}
J'ai aussi de la classe
class Item {
type:string;
id:string
date:string
}
J'appelle maintenant la fonction suivante
function sendData(type:OperationType) {
//Do some work
}
Maintenant, je veux passer la valeur dans l'enum comme ceci, mais je n'y arrive pas
//Here item.type = "CREATE"
sendData(OperationType[item.type])
Mais cela est maintenant autorisé et j'obtiens une erreur de compilation due à un mauvais type. Comment puis-je faire ?
EDIT : L'erreur est
L'élément a implicitement un type "any" car l'expression de type "string" ne peut pas être utilisée pour indexer le type "typeof OperationType".