mat-sidenav открыт при загрузке страницы. Как мне это закрыть?

mat-sidenav открыт при загрузке страницы. Как мне это закрыть?

Это мой HTML:

<mat-sidenav
    #drawer
    class="sidenav" position="end"
    fixedInViewport="true"
    [attr.role]="(isHandset$ | async) ? 'dialog' : 'navigation'"
    [mode]="(isHandset$ | async) ? 'over' : 'side'"
    [opened]="!(isHandset$ | async)">
    <mat-toolbar color="warn">Menu</mat-toolbar>
    <mat-nav-list>
      <a mat-list-item [routerLink] = "['/brands']"> Brands </a>
      <a mat-list-item [routerLink] = "['/variants']"> Variants </a>
    </mat-nav-list>
</mat-sidenav>

Кроме того, я хочу, чтобы он был ближе (при открытии), когда я нажимаю в любом месте страницы. В настоящее время он закрывается только когда я нажимаю кнопку меню.

1 ответ

Вы можете попробовать, это работает для меня очень хорошо

<mat-nav-list>
  <a mat-list-item [routerLink] = "['/brands']" (click)="drawer.close()"> Brands </a>
  <a mat-list-item [routerLink] = "['/variants']" (click)="drawer.close()"> Variants </a>
</mat-nav-list>

Попробуйте следующее,

<mat-sidenav-container class="sidenav-container">
  <mat-sidenav
    #drawer
    class="sidenav"
    fixedInViewport="true"
    [attr.role]="(isHandset$ | async) ? 'dialog' : 'navigation'"
    [mode]="(isHandset$ | async) ? 'over' : 'side'"
    [opened]="!(isHandset$ | async)">
    <mat-toolbar color="warn">Menu</mat-toolbar>
    <mat-nav-list>
      <a mat-list-item [routerLink] = "['/brands']"> Brands </a>
      <a mat-list-item [routerLink] = "['/variants']"> Variants </a>
    </mat-nav-list>
  </mat-sidenav>
  <mat-sidenav-content>
    <mat-toolbar color="primary">
      <button
        type="button"
        aria-label="Toggle sidenav"
        mat-icon-button
        (click)="drawer.toggle()"
        *ngIf="isHandset$ | async">
        <mat-icon aria-label="Side nav toggle icon">menu</mat-icon>
      </button>
      <span>Application Title</span>
    </mat-toolbar>
  </mat-sidenav-content>
</mat-sidenav-container>
Другие вопросы по тегам