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 :
<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 :
- Lorsque l'attribut
containedesttrue. - Lorsqu'il se trouve à l'intérieur du composant
<mdui-layout></mdui-layout>. Dans ce cas, aucunpadding-leftoupadding-rightn'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 | 型別 | 預設值 |
|---|---|---|---|---|
open | open | boolean | false | |
Si le Navigation Drawer est ouvert | ||||
modal | modal | boolean | false | |
Si le Navigation Drawer est ouvert, affiche-t-il un calque de superposition ? Sur les appareils à écran étroit (largeur d'écran inférieure à | ||||
close-on-esc | closeOnEsc | boolean | false | |
Si un calque de superposition est présent, appuyer sur la touche Échap ferme-t-il le Navigation Drawer ? | ||||
close-on-overlay-click | closeOnOverlayClick | boolean | false | |
Lors d'un clic sur le calque de superposition, le Navigation Drawer se ferme-t-il ? | ||||
placement | placement | 'left' | 'right' | 'left' | |
Position du Navigation Drawer. Les valeurs possibles incluent :
| ||||
contained | contained | boolean | false | |
Par défaut, le Navigation Drawer se positionne par rapport à l'élément Remarque : Lorsque vous définissez cet attribut, vous devez appliquer vous-même les styles | ||||
order | order | number | - | |
Ordre de ce composant dans le Layout | ||||
事件
| 名稱 |
|---|
open |
Se déclenche avant l'ouverture du Navigation Drawer. Vous pouvez empêcher l'ouverture du Navigation Drawer en appelant |
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 |
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 |
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 |