J'essaie de créer une chose - quoique simple - je voudrais être capable de créer un menu contextuel personnalisé qui affiche un «X», comme une option de suppression pour certains éléments sur ma page. Idéalement, j'utiliserais une bibliothèque externe pour cette fonctionnalité au lieu d'écrire moi-même un autre composant, car je tente de garder ce projet à un seul composant (pour des raisons que je n'ai pas le temps de poser).Menu contextuel personnalisé dans Angular
J'ai déjà essayé ce qui semble être la bibliothèque parfaite: https://github.com/isaacplmann/ngx-contextmenu, mais cela n'a pas fonctionné comme prévu.
Le menu apparaît simplement cassé une unusuable, comme ceci:
L'événement (execute) attaché aux feux X jamais, et le menu ne clairement affiche pas comme prévu. Si quelqu'un a une idée de pourquoi cela ne fonctionne pas, c'est le code que je suis actuellement en utilisant:
L'élément du menu est fixé à:
<div
id="playhead"
(mousedown)="movePlayheadByMouse()"
[contextMenu]="deleteMenu"
>
<span id="playhead-top">⛊</span>
<div id="playhead-line"></div>
</div>
Le menu lui-même:
<context-menu #deleteMenu>
<ng-template contextMenuItem (execute)="print('click')">X</ng-template>
</context-menu>
la fonction d'impression (juste un journal à la console)
private print(val : string) : void
{
console.log(val)
}
Ce composant NGX-menu contextuel ne le fait pas semble avoir beaucoup de soutien, donc je suis intéressé par d'autres méthodes. Donc, mes questions pour vous tous sont:
1) Connaissez-vous d'autres bibliothèques de composants de menu personnalisé qui fonctionneront bien dans ce but?
OU
2) Savez-vous comment changer le déclencheur MD-menu Matériel angulaire à un clic droit au lieu de clic gauche? (ce qui me permettrait d'utiliser le menu md d'Angular Material dans cette situation?)
Merci! Lars
Je ne sais pas la bibliothèque, ont cependant vous essayé de lier la sortie à une fonction déclarée dans la composant? – LookForAngular
si vous faites référence à l'événement (execute) attaché à contextMenuItem, alors oui. Il semble que l'événement soit correctement lié, mais la liste est cassée de telle sorte qu'elle n'attrape jamais le clic sur l'élément de menu. – LarsMonty
Ne sais pas. Peut-être qu'il y a un conflit avec le mousedown – LookForAngular