MDUI文件
複製 llms.txt 連結複製 llms-full.txt 連結以 Markdown 格式檢視此頁與 ChatGPT 討論此頁內容與 ChatGPT 討論專案完整文件
預設顏色
自選顏色
從桌布擷取顏色
請選擇一張桌布
開發指南
AI 輔助開發
樣式
與框架整合
元件
Avatar 頭像Badge 徽章BottomAppBar 底部應用程式列Button 按鈕ButtonIcon 圖示按鈕Card 卡片Checkbox 核取方塊Chip 標籤CircularProgress 環形進度條Collapse 收合區塊Dialog 對話框Divider 分隔線Dropdown 下拉元件Fab 浮動動作按鈕Icon 圖示Layout 版面配置LinearProgress 線性進度條List 清單Menu 選單NavigationBar 底部導覽列NavigationDrawer 導覽抽屜NavigationRail 側邊導覽列Radio 單選按鈕RangeSlider 範圍滑桿Select 選擇框SegmentedButton 分段按鈕Slider 滑桿Snackbar 消息條Switch 切換開關Tabs 分頁TextField 文字欄位Tooltip 工具提示TopAppBar 頂部應用程式列
函式
獨立程式庫

NavigationDrawer導覽抽屜

El componente Navigation Drawer se usa para ofrecer navegación lateral y permitir acceder rápidamente a distintas páginas o contenidos.

Normalmente, dentro del Navigation Drawer se usa el componente <mdui-list> para añadir elementos de navegación.

Uso

Importa el componente cuando lo necesites:

import 'mdui/components/navigation-drawer.js';

Importa el tipo TypeScript cuando lo necesites:

import type { NavigationDrawer } from 'mdui/components/navigation-drawer.js';

Uso:

Cerrar Navigation Drawer Abrir Navigation Drawer
<mdui-navigation-drawer close-on-overlay-click class="example-drawer">
  <mdui-button>Cerrar Navigation Drawer</mdui-button>
</mdui-navigation-drawer>

<mdui-button>Abrir Navigation Drawer</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>

Notas importantes:

Este componente usa position: fixed por defecto.

Cuando modal es false y el ancho de la ventana es mayor o igual que --mdui-breakpoint-md, se añade automáticamente padding-left o padding-right al body para evitar que el contenido de la página quede oculto por el componente.

Sin embargo, en los dos casos siguientes, se usará position: absolute por defecto:

  1. Cuando el atributo contained es true.
  2. Cuando el componente está dentro de <mdui-layout></mdui-layout>. En este caso, no se añade padding-left ni padding-right.

Ejemplos

Dentro de un contenedor especificado

Por defecto, el Navigation Drawer se muestra en la parte izquierda o derecha de la página, tomando la ventana como referencia. Si quieres colocar el Navigation Drawer dentro de un contenedor específico, puedes añadir el atributo contained. En este caso, el Navigation Drawer se posicionará tomando como referencia el elemento padre (debes añadir manualmente los estilos position: relative; overflow: hidden; al elemento padre).

Modal

El atributo modal muestra una capa de superposición al abrir el Navigation Drawer. Ten en cuenta que cuando el ancho de la ventana o del elemento padre es menor que --mdui-breakpoint-md, se ignorará este parámetro y siempre se mostrará la capa de superposición.

Con el atributo close-on-esc, el Navigation Drawer se puede cerrar al pulsar la tecla ESC.

Con el atributo close-on-overlay-click, el Navigation Drawer se puede cerrar al hacer clic en la capa de superposición.

En el lado derecho

Con el atributo placement="right", el Navigation Drawer se muestra en el lado derecho de la página.

API

屬性

HTML 屬性JavaScript 屬性Reflect型別預設值
openopenbooleanfalse

Indica si el Navigation Drawer está abierto.

modalmodalbooleanfalse

Indica si se muestra una superposición cuando el Navigation Drawer está abierto.

En dispositivos de pantalla estrecha (ancho de pantalla menor que --mdui-breakpoint-md), la superposición siempre se muestra, ignorando este parámetro.

close-on-esccloseOnEscbooleanfalse

Indica si el Navigation Drawer se cierra al presionar ESC cuando hay una superposición.

close-on-overlay-clickcloseOnOverlayClickbooleanfalse

Indica si se cierra el Navigation Drawer al hacer clic en la superposición.

placementplacement'left' | 'right''left'

Posición del Navigation Drawer. Los valores posibles son:

  • left: Izquierda
  • right: Derecha
containedcontainedbooleanfalse

De forma predeterminada, el Navigation Drawer se muestra relativo al elemento body. Cuando esta propiedad se define como true, el Navigation Drawer se mostrará relativo a su elemento padre.

Nota: Al definir esta propiedad, se debe establecer manualmente el estilo en el elemento padre: position: relative; overflow: hidden;.

orderordernumber-

Orden de layout de este componente dentro de <mdui-layout>, de menor a mayor. El valor predeterminado es 0.

事件

名稱
open

Se dispara antes de que se abra el Navigation Drawer. Se puede evitar que se abra llamando a event.preventDefault().

opened

Se dispara después de que la animación de apertura del Navigation Drawer se completa.

close

Se dispara antes de que se cierre el Navigation Drawer. Se puede evitar que se cierre llamando a event.preventDefault().

closed

Se dispara después de que la animación de cierre del Navigation Drawer se completa.

overlay-click

Se dispara al hacer clic en la superposición.

Slots

名稱
預設

Contenido del Navigation Drawer.

CSS Parts

名稱
overlay

Superposición.

panel

Contenedor del Navigation Drawer.

CSS 自訂屬性

名稱
--shape-corner

Tamaño de la esquina redondeada del componente. Se puede especificar un valor de píxel concreto; pero se recomienda hacer referencia a design tokens.

--z-index

Valor CSS z-index del componente.

本頁目錄