переопределение точки останова mat-sidenav-контейнера - PullRequest
0 голосов
/ 24 сентября 2018

Я использую mat-sidenav-container
Есть ли способ переопределить точку останова, чтобы ящик автоматически не открывался, когда экран достигает определенной ширины?

Менее 600 пикселей - показывает гамбургер
enter image description here

В настоящее время @ 600px он открывается автоматически
Я хочу, чтобы он открывался, только если пользователь нажимает нагамбургер
более 600 пикселей - остается открытым
enter image description here

  <mat-sidenav-container class="sidenav-container">
    <mat-sidenav
      #drawer
      class="sidenav"
      fixedInViewport="false"
      [attr.role]="(isHandset$ | async) ? 'dialog' : 'navigation'"
      [mode]="(isHandset$ | async) ? 'over' : 'side'"
      [opened]="!(isHandset$ | async)">
      <mat-toolbar color="primary">Menu</mat-toolbar>
      <mat-nav-list *ngFor="let i of navItems">
        <a *ngIf="(i.navText) && (i.router) && (i.showYNNav === 'Y')"
           mat-list-item [routerLink]="[i.router]">{{i.navText}}</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>
          <a class="mat-toolbar mat-primary homeLink"
            [routerLink]="['/']"
            routerLinkActive="active"
            [routerLinkActiveOptions]="{exact: true}">
            <span>Site Name Here</span>
          </a>
        </span>
      </mat-toolbar>
      <div class="componentMargin">
        <router-outlet #outlet="outlet"></router-outlet>
      </div>
      <app-footer></app-footer>
    </mat-sidenav-content>
  </mat-sidenav-container>

В .ts

isHandset$: Observable<boolean> = 
this.breakpointObserver.observe(Breakpoints.Handset)
    .pipe(
     map(result => result.matches)
    );

1 Ответ

0 голосов
/ 24 сентября 2018

Конечно, вы понимаете это сразу после публикации вопроса

Кажется, что жесткое кодирование атрибутов помогает
Вместо использования наблюдаемой переменной isHandset $, которая отслеживает точки останова

attr.role="dialog"
mode="over"
opened="false"
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...