【问题标题】:How to force a MatMenu (mat-menu) to open below trigger?如何强制 MatMenu(mat-menu)在触发器下方打开?
【发布时间】:2020-01-09 11:07:07
【问题描述】:

我需要我的 MatMenu 始终在触发器下方打开,即使当前滚动的视口没有空间。我试过yPosition="below",但它仍然会在触发器上方打开它之前检查空间,即使上面的空间更少。这是文档中的一个基本示例:

【问题讨论】:

    标签: angular angular-material2


    【解决方案1】:

    强制 MatMenu 始终服从一个位置是不可能的。位置特征应仅被视为位置首选项。 MatMenu 将始终尝试通过重新定位来避免显示中断。

    【讨论】:

      【解决方案2】:

      虽然文档的概述部分中没有显示,但如果您检查菜单组件的API 部分,您将看到 MatMenu 指令具有的属性。在那里您将看到overlapTrigger 属性,您可以在其中设置组件是否应与其触发器重叠。

      要达到我认为是您想要的最终结果,您应该具有以下行:

      <mat-menu #menu="matMenu" yPosition="below" [overlapTrigger]="false"> 
      

      【讨论】:

      • 感谢您的建议,但即使这样,菜单也将被允许覆盖触发器,但是当我只想向下扩展时,它仍然可以根据可用空间选择向上或向下扩展.
      • 您可以尝试设置您希望菜单如何来自 ts 而不是模板的属性,它曾经对我有用,因为我未知的原因 mat-menu 没有响应到我在模板上发送的值。认为您可以进行堆栈闪电战来复制该问题?
      猜你喜欢
      • 1970-01-01
      • 2022-07-07
      • 1970-01-01
      • 2020-02-09
      • 1970-01-01
      • 1970-01-01
      • 2018-12-24
      • 2020-11-29
      • 2018-07-06
      相关资源
      最近更新 更多