单击内部的md-tab后,Md菜单关闭

时间:2017-08-24 14:17:38

标签: html angular angular2-template angular-material2 angular2-md-tabs

我使用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关闭?

1 个答案:

答案 0 :(得分: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 Demo