NavigationBar
La Navigation Bar permet de naviguer facilement entre les pages principales d'une application mobile.
Utilisation
Importez les composants :
import 'mdui/components/navigation-bar.js';
import 'mdui/components/navigation-bar-item.js';
Importez les types TypeScript correspondants :
import type { NavigationBar } from 'mdui/components/navigation-bar.js';
import type { NavigationBarItem } from 'mdui/components/navigation-bar-item.js';
Exemple d'utilisation : (le style="position: relative" dans l'exemple est présent uniquement à titre de démonstration ; supprimez-le dans votre code.)
<mdui-navigation-bar value="item-1" style="position: relative">
<mdui-navigation-bar-item icon="place" value="item-1">Élément 1</mdui-navigation-bar-item>
<mdui-navigation-bar-item icon="commute" value="item-2">Élément 2</mdui-navigation-bar-item>
<mdui-navigation-bar-item icon="people" value="item-3">Élément 3</mdui-navigation-bar-item>
</mdui-navigation-bar>Remarques importantes :
Ce composant utilise par défaut un positionnement position: fixed et ajoute automatiquement un style padding-bottom sur le body pour éviter que le contenu de la page ne soit masqué. Cependant, dans les deux cas suivants, le positionnement par défaut devient position: absolute :
- Lorsque l'attribut
scroll-targetest spécifié. Dans ce cas, lepadding-bottomest ajouté à l'élément ciblé parscroll-target. - Lorsqu'il se trouve à l'intérieur du composant
<mdui-layout></mdui-layout>. Dans ce cas, aucunpadding-bottomn'est ajouté.
Exemples
Visibilité des libellés
Par défaut, le texte des éléments s'affiche toujours lorsqu'il y a 3 éléments ou moins. Au-delà de 3 éléments, seul le texte de l'élément sélectionné s'affiche.
Utilisez l'attribut label-visibility sur <mdui-navigation-bar> pour ajuster la visibilité du texte :
selected: Affiche le texte uniquement pour l'élément sélectionnélabeled: Affiche toujours le texteunlabeled: N'affiche jamais le texte
Dans un conteneur spécifique
Par défaut, la Navigation Bar s'affiche en bas de page par rapport à la fenêtre active.
Pour la placer dans un conteneur spécifique, spécifiez l'attribut scroll-target avec un sélecteur CSS ou un élément DOM du conteneur disposant de contenu défilable. La barre s'affichera alors par rapport à son parent (ajoutez position: relative; overflow: hidden sur le parent).
Masquer lors du défilement
Définissez l'attribut scroll-behavior="hide" sur <mdui-navigation-bar> pour masquer la barre lors du défilement vers le bas et la réafficher lors du défilement vers le haut.
Utilisez scroll-threshold pour définir le nombre de pixels de défilement avant le masquage.
Icône
Sur <mdui-navigation-bar-item>, utilisez icon pour l'icône de l'état inactif et active-icon pour l'état actif. Utilisez les slots correspondants pour des éléments personnalisés.
Lien
Ajoutez l'attribut href à <mdui-navigation-bar-item> pour l'utiliser comme un lien. Les attributs liés aux liens (download, target, rel) sont disponibles.
Badge
Utilisez le slot badge dans <mdui-navigation-bar-item> pour ajouter un badge.
mdui-navigation-bar-item API
Propriétés
| Attribut HTML | Propriété JavaScript | Reflect | Type | Défaut |
|---|---|---|---|---|
icon | icon | string | - | |
Nom de l'icône Material Icons pour l'état inactif. Peut également être défini via | ||||
active-icon | activeIcon | string | - | |
Nom de l'icône Material Icons pour l'état actif. Peut également être défini via | ||||
value | value | string | - | |
Valeur de l'élément de navigation | ||||
href | href | string | - | |
URL cible du lien. Si cette propriété est définie, le composant sera rendu en tant qu'élément | ||||
download | download | string | - | |
Nom du fichier à télécharger. Remarque : Cette propriété ne s'applique que si l'attribut | ||||
target | target | '_blank' | '_parent' | '_self' | '_top' | - | |
Cible d'ouverture du lien. Les valeurs possibles incluent :
Remarque : Cette propriété ne s'applique que si l'attribut | ||||
rel | rel | 'alternate' | 'author' | 'bookmark' | 'external' | 'help' | 'license' | 'me' | 'next' | 'nofollow' | 'noreferrer' | 'opener' | 'prev' | 'search' | 'tag' | - | |
Relation entre le document actuel et le document lié. Les valeurs possibles incluent :
Remarque : Disponible uniquement lorsque l'attribut | ||||
autofocus | autofocus | boolean | false | |
Si le focus doit être automatiquement obtenu après le chargement de la page | ||||
tabindex | tabIndex | number | - | |
Ordre de l'élément lors de la navigation au clavier avec la touche Tab | ||||
Méthodes
| Nom | Paramètres | Valeur de retour |
|---|---|---|
click | void | |
Simule un clic sur l'élément | ||
focus |
| void |
Place le focus sur l'élément. Vous pouvez passer un objet en paramètre, dont les propriétés incluent :
| ||
blur | void | |
Retire le focus de l'élément | ||
Slots
| Nom |
|---|
| Défaut |
Texte de l'élément de navigation |
icon |
Icône |
active-icon |
Icône de l'état actif |
badge |
Badge |
Propriétés CSS personnalisées
| Nom |
|---|
--shape-corner-indicator |
Taille des coins arrondis de l'indicateur. Vous pouvez spécifier une valeur de pixel spécifique ; mais il est préférable de se référer au Design Tokens. |
mdui-navigation-bar API
Propriétés
| Attribut HTML | Propriété JavaScript | Reflect | Type | Défaut |
|---|---|---|---|---|
hide | hide | boolean | false | |
Si le composant est masqué | ||||
label-visibility | labelVisibility | 'auto' | 'selected' | 'labeled' | 'unlabeled' | 'auto' | |
État de visibilité du texte. Les valeurs possibles incluent :
| ||||
value | value | string | - | |
Valeur de l'élément | ||||
scroll-behavior | scrollBehavior | 'hide' | 'shrink' | 'elevate' | - | |
Comportement de défilement. Les valeurs possibles incluent :
| ||||
scroll-target | scrollTarget | string | HTMLElement | JQ<HTMLElement> | - | |
Élément sur lequel l'événement de défilement doit être écouté. La valeur peut être un sélecteur CSS, un élément DOM ou un objet JQ. Par défaut, écoute l'événement de défilement de | ||||
scroll-threshold | scrollThreshold | number | - | |
Seuil de défilement avant activation du comportement, en | ||||
order | order | number | - | |
Ordre de ce composant dans le Layout | ||||
Événements
| Nom |
|---|
change |
Se déclenche lorsque la valeur change |
show |
Se déclenche lorsque le composant commence à s'afficher. Vous pouvez empêcher l'affichage en appelant |
shown |
Se déclenche lorsque l'animation d'affichage est terminée. |
hide |
Se déclenche lorsque le composant commence à se masquer. Vous pouvez empêcher le masquage en appelant |
Se déclenche lorsque l'animation de masquage est terminée. |
Propriétés CSS personnalisées
| Nom |
|---|
--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 |