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導覽抽屜

Le Navigation Drawer permet d'accéder rapidement aux différentes pages ou contenus via un panneau latéral.

On utilise souvent le composant <mdui-list> dans le Navigation Drawer pour ajouter des éléments de navigation.

Utilisation

Importez le composant :

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

Importez le type TypeScript correspondant :

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

Exemple d'utilisation :

Fermer le Navigation Drawer Ouvrir le Navigation Drawer
<mdui-navigation-drawer close-on-overlay-click class="example-drawer">
  <mdui-button>Fermer le Navigation Drawer</mdui-button>
</mdui-navigation-drawer>

<mdui-button>Ouvrir le 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>

Remarques importantes :

Ce composant utilise par défaut un positionnement position: fixed.

Lorsque modal est false et que la taille de l'écran est supérieure ou égale à --mdui-breakpoint-md, un padding-left ou padding-right est automatiquement ajouté au body pour éviter que le contenu ne soit masqué.

Cependant, dans les deux cas suivants, le positionnement par défaut sera position: absolute :

  1. Lorsque l'attribut contained est true.
  2. Lorsqu'il se trouve à l'intérieur du composant <mdui-layout></mdui-layout>. Dans ce cas, aucun padding-left ou padding-right n'est ajouté.

Exemples

Dans un conteneur spécifique

Par défaut, le Navigation Drawer s'affiche sur le côté de la fenêtre. Pour le placer dans un conteneur spécifique, ajoutez l'attribut contained. Le Navigation Drawer s'affichera alors par rapport à son parent (ajoutez position: relative; overflow: hidden; sur le parent).

Modal

Ajoutez l'attribut modal pour afficher un fond (overlay) lorsque le Navigation Drawer est ouvert. Notez que si la largeur de la fenêtre ou du parent est inférieure à --mdui-breakpoint-md, l'overlay s'affiche toujours, quel que soit cet attribut.

Ajoutez close-on-esc pour fermer avec la touche Échap. Ajoutez close-on-overlay-click pour fermer en cliquant sur l'overlay.

À droite

Définissez l'attribut placement="right" pour afficher le Navigation Drawer sur le côté droit.

API

屬性

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

Si le Navigation Drawer est ouvert

modalmodalbooleanfalse

Si le Navigation Drawer est ouvert, affiche-t-il un calque de superposition ?

Sur les appareils à écran étroit (largeur d'écran inférieure à --mdui-breakpoint-md), le calque de superposition est toujours affiché, indépendamment de ce paramètre.

close-on-esccloseOnEscbooleanfalse

Si un calque de superposition est présent, appuyer sur la touche Échap ferme-t-il le Navigation Drawer ?

close-on-overlay-clickcloseOnOverlayClickbooleanfalse

Lors d'un clic sur le calque de superposition, le Navigation Drawer se ferme-t-il ?

placementplacement'left' | 'right''left'

Position du Navigation Drawer. Les valeurs possibles incluent :

  • left : À gauche
  • right : À droite
containedcontainedbooleanfalse

Par défaut, le Navigation Drawer se positionne par rapport à l'élément body. Lorsque cet attribut est défini sur true, il se positionne par rapport à son élément parent.

Remarque : Lorsque vous définissez cet attribut, vous devez appliquer vous-même les styles position: relative; overflow: hidden; à l'élément parent.

orderordernumber-

Ordre de ce composant dans le Layout <mdui-layout>, trié par ordre croissant. La valeur par défaut est 0.

事件

名稱
open

Se déclenche avant l'ouverture du Navigation Drawer. Vous pouvez empêcher l'ouverture du Navigation Drawer en appelant event.preventDefault().

opened

Se déclenche après la fin de l'animation d'ouverture du Navigation Drawer.

close

Se déclenche avant la fermeture du Navigation Drawer. Vous pouvez empêcher la fermeture du Navigation Drawer en appelant event.preventDefault().

closed

Se déclenche après la fin de l'animation de fermeture du Navigation Drawer.

overlay-click

Se déclenche lors du clic sur le calque de superposition

Slots

名稱
預設

Contenu du Navigation Drawer

CSS Parts

名稱
overlay

Calque de superposition

panel

Conteneur du Navigation Drawer

CSS 自訂屬性

名稱
--shape-corner

Taille des coins arrondis du composant. Vous pouvez spécifier une valeur de pixel spécifique ; mais il est préférable de se référer au Design Tokens.

--z-index

Valeur CSS z-index du composant.

本頁目錄