代码之家  ›  专栏  ›  技术社区  ›  LarsMonty

Angular中的自定义关联菜单

  •  0
  • LarsMonty  · 技术社区  · 7 年前

    我已经尝试过一个看似完美的图书馆: https://github.com/isaacplmann/ngx-contextmenu ,但它并没有像预期的那样发挥作用。

    菜单只是看起来有点破损,无法使用,就像这样: enter image description here

    菜单附加到的元素:

    <div 
        id="playhead"
        (mousedown)="movePlayheadByMouse()"
        [contextMenu]="deleteMenu"
    >
         <span id="playhead-top">&#9930;</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上下文菜单组件似乎没有太多支持,所以我有兴趣尝试其他方法。所以我想问大家的问题是:

    1) 您知道有其他自定义菜单组件库可以很好地用于此目的吗?

    谢谢

    1 回复  |  直到 7 年前
        1
  •  1
  •   Karsten    7 年前

    使用此代码 (execute)="console.log('click')" console 在全球范围内)
    因此,您需要从组件调用函数,如
    (execute)="functionFromComponent('click')"

    对于角度材质:可以通过以下方式添加手动触发器:

    class MyComponent {
      @ViewChild(MdMenuTrigger) trigger: MdMenuTrigger;
    
      someMethod() {
        this.trigger.openMenu();
      }
    }
    

    然后绑定 someMethod() 正常点击事件(并过滤掉右键点击)

    另请参见: https://material.angular.io/components/menu/overview