4

我使用 Angular Material 2 构建了md-menu 一个md-tab-group内部结构。在每一个上md-tab我都显示了一个不同的列表。我期望看到的行为是用户能够在选项卡之间切换并md-menu保持打开状态。

问题是md-menu每次点击其中一个选项卡时都会关闭。

 <img src="/assets/images/ic-notifications.png" [mdMenuTriggerFor]="appMenu"/> 

 <md-menu #appMenu="mdMenu"  [overlapTrigger]="false" yPosition="below" xPosition="before" class="notifications-dropdown">
  <md-tab-group >
   <md-tab label="My profile" id="personal">          
     <div class="row notification-row" *ngFor = "let notification of profile_notifications">
        ...
      </div>
   </md-tab>
   <md-tab label="Favorites " id="favorite-tab" >  
  ...
      </md-tab>
   </md-tab-group>
</md-menu>      

如何防止md-menu关闭?

4

1 回答 1

3

您需要停止鼠标点击传播。你可以这样做:

<md-menu #appMenu="mdMenu" [overlapTrigger]="false" yPosition="below" xPosition="before" class="notifications-dropdown">
    <md-tab-group (click)="stopClickPropagate($event)">
        <md-tab label="My profile" id="personal"></md-tab>
        <md-tab label="Favorites " id="favorite-tab"></md-tab>
    </md-tab-group>
</md-menu>

并在您的 component.ts 文件中:

stopClickPropagate(event: any){
    event.stopPropagation();
    event.preventDefault();
}

链接到Plunker 演示

于 2017-08-24T14:51:20.647 回答