NavigationDrawerВыдвижная панель навигации
Выдвижная панель навигации используется для размещения навигации сбоку страницы, позволяя пользователю быстро переходить к разным страницам или разделам.
Обычно внутри выдвижной панели навигации используется компонент <mdui-list> для добавления пунктов навигации.
Использование
При необходимости импортируйте компонент:
import 'mdui/components/navigation-drawer.js';
При необходимости импортируйте типы TypeScript:
import type { NavigationDrawer } from 'mdui/components/navigation-drawer.js';
Пример использования:
<mdui-navigation-drawer close-on-overlay-click class="example-drawer">
<mdui-button>Закрыть выдвижную панель</mdui-button>
</mdui-navigation-drawer>
<mdui-button>Открыть выдвижную панель</mdui-button>
<script>
const navigationDrawer = document.querySelector(".example-drawer");
const openButton = navigationDrawer.nextElementSibling;
const closeButton = navigationDrawer.querySelector("mdui-button");
openButton.addEventListener("click", () => navigationDrawer.open = true);
closeButton.addEventListener("click", () => navigationDrawer.open = false);
</script>Примечания:
Этот компонент по умолчанию использует позиционирование position: fixed.
Когда атрибут modal имеет значение false и ширина окна больше или равна --mdui-breakpoint-md, к body автоматически добавляется стиль padding-left или padding-right, чтобы содержимое страницы не перекрывалось компонентом.
Однако в следующих двух случаях по умолчанию используется позиционирование position: absolute:
- Когда атрибут
containedимеет значениеtrue. - Когда компонент находится внутри
<mdui-layout></mdui-layout>. В этом случае стилиpadding-leftилиpadding-rightне добавляются.
Примеры
В указанном контейнере
По умолчанию выдвижная панель навигации отображается относительно текущего окна, слева или справа от страницы. Если вы хотите разместить выдвижную панель внутри указанного контейнера, добавьте атрибут contained. В этом случае панель будет отображаться относительно родительского элемента (вам нужно самостоятельно добавить родительскому элементу стили position: relative; overflow: hidden;).
Модальный режим
Добавьте атрибут modal, чтобы при открытии выдвижной панели навигации отображался полупрозрачный фон. Обратите внимание, что при ширине окна или родительского элемента меньше --mdui-breakpoint-md этот параметр игнорируется, и фон отображается всегда.
Добавьте атрибут close-on-esc, чтобы панель закрывалась при нажатии клавиши ESC.
Добавьте атрибут close-on-overlay-click, чтобы панель закрывалась при клике на фон.
Расположение справа
Установите атрибут placement в значение right, чтобы выдвижная панель навигации отображалась справа.
API
Свойства
| Атрибут | Свойство | Reflect | Тип | По умолчанию |
|---|---|---|---|---|
open | open | boolean | false | |
Определяет, открыта ли выдвижная панель. | ||||
modal | modal | boolean | false | |
Определяет, нужно ли показывать затемнение при открытой выдвижной панели. На устройствах с узким экраном (ширина меньше | ||||
close-on-esc | closeOnEsc | boolean | false | |
Определяет, нужно ли закрывать выдвижную панель по нажатию ESC, если отображается затемнение. | ||||
close-on-overlay-click | closeOnOverlayClick | boolean | false | |
Определяет, нужно ли закрывать выдвижную панель при клике на затемнение. | ||||
placement | placement | 'left' | 'right' | 'left' | |
Положение выдвижной панели. Возможные значения:
| ||||
contained | contained | boolean | false | |
По умолчанию выдвижная панель позиционируется относительно элемента Примечание: При задании этого свойства необходимо вручную задать родительскому элементу стили | ||||
order | order | number | - | |
Порядок этого компонента в | ||||
События
| Название |
|---|
open |
Возникает перед открытием выдвижной панели. Можно отменить открытие, вызвав |
opened |
Срабатывает после завершения анимации открытия выдвижной панели. |
close |
Возникает перед закрытием выдвижной панели. Можно отменить закрытие, вызвав |
closed |
Срабатывает после завершения анимации закрытия выдвижной панели. |
overlay-click |
Срабатывает при клике на затемнение. |
Slots
| Название |
|---|
| (по умолчанию) |
Содержимое выдвижной панели. |
Пользовательские CSS-свойства
| Название |
|---|
--shape-corner |
Размер скругления углов компонента. Можно указать конкретное значение в пикселях, но рекомендуется использовать дизайн-токены. |
--z-index |
Значение CSS |