How to prevent angular material mat-menu from closing?

Discussão em 'Angular' iniciado por Umamaheswaran, Maio 1, 2025.

  1. I'm creating a date time picker control in the angular material and having the below code to do that

    <button mat-button [matMenuTriggerFor]="menu">
    <mat-icon>date_range</mat-icon>
    <span>Date Range</span>
    </button>
    <mat-menu #menu="matMenu">
    <div fxLayout="row">
    <div fxLayout="column">
    <button (click)="setInterval(15)" mat-menu-item>Last 15 minutes</button>
    <button (click)="setInterval(360)" mat-menu-item>Last 6 hours</button>
    <button (click)="setInterval(1440)" mat-menu-item>Last 24 hours</button>
    <button (click)="setInterval(2880)" mat-menu-item>Last 2 days</button>
    <button (click)="setInterval(10080)" mat-menu-item>Last 7 days</button>
    <button (click)="setInterval(-1)" [matMenuTriggerFor]="dateTimeMenu" mat-menu-item>Custom</button>
    </div>
    <mat-menu class="date-range-menu" #dateTimeMenu="matMenu">
    <div fxLayout="row">
    <div fxLayout="column">
    <b>From</b>
    <mat-calendar></mat-calendar>
    </div>
    <div fxLayout="column">
    <b>To</b>
    <mat-calendar></mat-calendar>
    </div>
    </div>
    </mat-menu>
    </div>
    </mat-menu>


    Currently when ever I click a button it is closing the menu. I know we can do $event.stoppropagation() on each mat-menu-item to prevent it from closing.

    But I want to know is it possible to do that for mat-calendar

    [​IMG]

    As you can see in the above image currently when i select a date it is closing the menu. Is it possible to prevent that?

    Continue reading...

Compartilhe esta Página