【问题标题】:Weird matTooltip behavior with toolbar-button and nested button带有工具栏按钮和嵌套按钮的奇怪 matTooltip 行为
【发布时间】:2018-05-29 23:53:00
【问题描述】:

我遇到了一种奇怪的行为 - 尽管它可能按预期工作(这就是我没有立即提交错误的原因)或者我在不应该使用 mat-menu-item-directive 的地方?

当我有一个打开一个菜单的按钮时,该菜单又包含一个带有 mat-menu-item 指令的按钮,它的工具提示似乎奇怪地放错了位置。

使用mat-button-directive 似乎可以解决问题,但按钮行为不一样。

StackBlitz: https://stackblitz.com/edit/angular-inhkax

如果您单击配置文件,您会看到“编辑配置文件”工具提示似乎出现在刚刚打开菜单的按钮上,即使该工具提示属于第二个按钮(三个按钮中的三个)菜单。

它始终是第一个嵌套按钮具有mat-menu-item-directive 的工具提示,它显示在调用者按钮(在本例中为“配置文件”)上,因此出现在错误的位置。

它会导致此工具提示“挂起”,直到将鼠标悬停在此特定嵌套按钮上,使放错位置的工具提示消失,并导致相同的工具提示出现在正确的指定(或默认)位置。

您可以在 StackBlitz-link 中找到这些包及其版本。

【问题讨论】:

  • 你为什么不直接使用属性matTooltipPosition。所以,在你的情况下,我会使用rightmatTooltipPosition="right"。我一直在用你的代码测试它,它工作正常。
  • @k.vincent :你是什么意思?我希望“配置文件”按钮不显示任何工具提示,而其他工具提示应该以默认设置显示,即matTooltipPosition="below"。我为什么要换位置,为什么还要换?
  • 好的,我知道工具提示与下一个导航菜单重叠,实际上就是这种情况,这就是您要防止的。但无论如何,我会在正确或之后添加位置,因为现在的方式,这真的是一个糟糕的用户体验。 1. 不好看, 2. 让用户感到困惑。另一方面,我不介意你保留它。这是你的问题!
  • @k.vincent:你是对的。我不想让它在我的 StackBlitz 中看起来像“破碎”,这就是为什么我想知道我是否做错了什么(例如使用错误的指令或其他东西),但显然(根据 Faisal,回答如下)似乎就像一个错误,他还提供了一个解决方法。

标签: angular angular-material angular-material2 angular6


【解决方案1】:

似乎是材质菜单重叠的问题。我的猜测是,当菜单打开时,鼠标在第一个项目上,因此工具提示显示错误。您可以通过执行以下操作来避免这种情况:

mat-menu-trigger 添加参考,例如

<button mat-button 
        #profileMenuTrigger="matMenuTrigger" 
        [matMenuTriggerFor]="profile">
    <mat-icon>face</mat-icon>&nbsp;Profile
</button>

之后,根据第一个菜单项的触发状态设置matTooltipDisabled输入,如下所示:

<button mat-menu-item 
        matTooltip="Show file upload" 
        [matTooltipDisabled]="!profileMenuTrigger.menuOpen">
    <mat-icon>file_upload</mat-icon>File upload
</button>

链接到更新的StackBlitz

【讨论】:

  • 谢谢!这听起来像是一个很好的解决方法,但我相信这不应该发生?或者是吗?含义:我应该在github上打开这方面的问题吗?
  • @Igor 是的,我建议你也可以在 github 上打开一个问题。在此之前,您可以使用此解决方案。
  • 非常感谢!我已经尝试过您的解决方案,并且效果很好。我还在 angular/material2-project 提交了一个错误:github.com/angular/material2/issues/11600。也感谢您的解决方法!
猜你喜欢
  • 1970-01-01
  • 2014-01-21
  • 2016-11-25
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-03-07
相关资源
最近更新 更多