#angular #angular-material
#angular #angular-material
Вопрос:
Сценарий :
- У меня действительно есть mat-sidenav, открывающийся слева и справа.
Все работает нормально при запуске нажатием кнопки или любым взаимодействием пользователя. - Но я также хочу открыть это при загрузке страницы. И тогда у меня действительно возникают проблемы с отображением. Когда управляющей переменной
projectSelectorOpened
присвоено значение true, боковая панель скрывает содержимое страницы. При запуске пользователем содержимое корректно перемещается в середину.
Также пытался установить переменной значение true с помощью setTimeout … Работает, если установлено значение в несколько секунд.
Но это не то, чего я хочу.
Вот соответствующий код:
<mat-sidenav-container fullscreen>
<mat-sidenav #projectSelector mode="side" [(opened)]="projectSelectorOpened">
<div class="list-group-item" (click)="projectSelectorOpened = !projectSelectorOpened">
<i class="fa fa-arrow-circle-left"></i> {{l10n.get('T_Projects')}}
</div>
<project-selector [selectedProjectId]="projectId" [selectedComponentId]="componentId"></project-selector>
</mat-sidenav>
<mat-sidenav-content>
</mat-sidenav-content>
<mat-sidenav #projectSelector2 mode="side" position="end" [(opened)]="projectSelectorOpened">
<div class="list-group-item" (click)="projectSelectorOpened = !projectSelectorOpened">
<i class="fa fa-arrow-circle-left"></i> {{l10n.get('T_Projects')}}
</div>
<project-selector [selectedProjectId]="projectId"></project-selector>
</mat-sidenav>
Комментарии:
1. Укажите значение по умолчанию для
projectSelectorOpened
переменной как true, она работает нормально. Смотрите: stackblitz.com/edit / … , если не подходит, то, пожалуйста, создайте демонстрационную версию stackblitz, воспроизводящую эту проблему.2. Обнаружил, что эта проблема появляется только в браузере Chrome
3. но демонстрационная версия stackblitz, которую я предоставил, работает в браузере Chrome.
4. Интересно, что я сталкиваюсь с той же проблемой, однако при изменении размера окна она корректируется. У меня есть container-fluid и какой-то другой компонент внутри mat-sidenav-content, и каким-то образом в вашем stackblitz это невозможно воспроизвести