【发布时间】:2017-07-21 03:49:54
【问题描述】:
我正在尝试创建一个——看似简单——的东西——我希望能够创建一个自定义上下文菜单,该菜单显示一个“X”作为我页面上某些元素的删除选项。理想情况下,我会为这个功能使用一个外部库,而不是自己编写另一个组件,因为我试图将这个项目保存到一个组件文件中(因为我没有时间提出这个问题)。
我已经尝试过看起来很完美的库:https://github.com/isaacplmann/ngx-contextmenu,但它没有按预期工作。
附加到 X 的(执行)事件永远不会触发,并且菜单显然没有按预期显示。如果有人对这不起作用的原因有所了解,这是我目前正在使用的代码:
菜单附加到的元素:
<div
id="playhead"
(mousedown)="movePlayheadByMouse()"
[contextMenu]="deleteMenu"
>
<span id="playhead-top">⛊</span>
<div id="playhead-line"></div>
</div>
菜单本身:
<context-menu #deleteMenu>
<ng-template contextMenuItem (execute)="print('click')">X</ng-template>
</context-menu>
打印功能(只是控制台的日志)
private print(val : string) : void
{
console.log(val)
}
这个 ngx-context-menu 组件似乎没有很多支持,所以我有兴趣尝试其他方法。所以我的问题是:
1) 您是否知道任何其他可以很好地用于此目的的自定义菜单组件库?
或
2) 你知道如何将 Angular Material md-menu 触发器更改为右键单击而不是左键单击吗? (这将允许我在这种情况下使用 Angular Material 的 md 菜单?)
谢谢! 拉尔斯
【问题讨论】:
-
我不知道库,但是您是否尝试将输出绑定到组件中声明的函数?
-
如果您指的是附加到 contextMenuItem 的(执行)事件,那么是的。似乎该事件已正确绑定,但列表被破坏了,它永远不会捕获对菜单项的点击。
-
不知道。可能和mousedown有冲突
标签: angular angular-material contextmenu