如何强制 MatMenu(mat-menu)在触发器下方打开?

How to force a MatMenu (mat-menu) to open below trigger?

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

强制 MatMenu 始终服从一个位置是不可能的。位置特征应该被认为只是一个位置偏好。 MatMenu 将始终尝试通过重新定位来避免显示中断。

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

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

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