Je veux utiliser le menu contextuel de Kendo UI dans mon application. Je m'attendais à ce que le comportement standard soit d'avoir du texte affiché dans le menu lui-même mais qu'une valeur différente (un ID ou une clé) soit retournée à l'utilisateur. select
gestionnaire d'événements.
Par exemple, le menu affiche une liste de noms mais lorsque je clique sur l'un d'eux, j'obtiens l'ID associé au nom.
J'ai essayé d'ajouter des propriétés supplémentaires en plus de text
au tableau des éléments du menu contextuel, mais je ne les vois pas sur l'objet de l'événement dans le gestionnaire.
Je ne peux pas utiliser le texte pour trouver l'identifiant approprié qui lui correspond, car il pourrait y avoir des entrées avec le même texte mais des identifiants différents.
Des idées ?
Edit :
Actuellement, je construis le menu contextuel comme ceci :
open: (e) => {
let itemKeys = [1, 2, 3];
let menu = e.sender;
menu.remove(".context-menu-item");
menu.append(itemKeys.map((itemKey) => {
return {
text: "<div data-item-key='" + itemKey + "'>Test Text</div>",
cssClass: "context-menu-item",
encoded: false
};
}));
}
Bien que cette solution réponde à mes besoins, elle ajoute un élément supplémentaire au DOM qui, tout en étant insignifiant, n'est pas parfait...