NavigationBar
La barra di navigazione consente di passare facilmente da una pagina principale all'altra sui dispositivi mobili.
Utilizzo
Importa i componenti:
import 'mdui/components/navigation-bar.js';
import 'mdui/components/navigation-bar-item.js';
Importa i tipi TypeScript:
import type { NavigationBar } from 'mdui/components/navigation-bar.js';
import type { NavigationBarItem } from 'mdui/components/navigation-bar-item.js';
Esempio: (Nota: lo stile position: relative nell'esempio è solo a scopo dimostrativo. Rimuovilo nell'uso effettivo.)
<mdui-navigation-bar value="item-1" style="position: relative">
<mdui-navigation-bar-item icon="place" value="item-1">Elemento 1</mdui-navigation-bar-item>
<mdui-navigation-bar-item icon="commute" value="item-2">Elemento 2</mdui-navigation-bar-item>
<mdui-navigation-bar-item icon="people" value="item-3">Elemento 3</mdui-navigation-bar-item>
</mdui-navigation-bar>Nota:
Per impostazione predefinita, questo componente usa position: fixed e aggiunge automaticamente padding-bottom al body per evitare che il contenuto della pagina venga oscurato. Tuttavia, usa position: absolute nei seguenti casi:
- Quando è specificato l'attributo
scroll-target. In questo caso,padding-bottomviene aggiunto all'elemento specificato. - Quando si trova all'interno del componente
<mdui-layout></mdui-layout>. In questo caso, non viene aggiunto alcunpadding-bottom.
Esempi
Visibilità delle etichette
Le etichette di testo nella barra di navigazione sono sempre visibili quando sono presenti 3 o meno elementi di navigazione. Se ci sono più di 3 elementi, viene mostrato solo il testo dell'elemento selezionato.
L'attributo label-visibility su <mdui-navigation-bar> controlla la visibilità delle etichette di testo. Valori possibili:
selected: Viene visualizzato solo il testo dell'elemento selezionato.labeled: Il testo è sempre visualizzato.unlabeled: Il testo non viene mai visualizzato.
In un contenitore
Per impostazione predefinita, la barra di navigazione è relativa alla finestra corrente e viene visualizzata nella parte inferiore della pagina.
Se desideri posizionare la barra di navigazione all'interno di un contenitore specifico, usa l'attributo scroll-target su <mdui-navigation-bar>. Il valore può essere il selettore CSS o l'elemento DOM del contenitore con contenuto scorrevole. In questo caso, la barra di navigazione sarà relativa all'elemento padre. Devi aggiungere manualmente gli stili position: relative; overflow: hidden all'elemento padre.
Nascondi durante lo scorrimento
L'attributo scroll-behavior su <mdui-navigation-bar> controlla la visibilità della barra di navigazione durante lo scorrimento. Imposta il suo valore su hide per nascondere la barra di navigazione quando si scorre verso il basso e mostrarla quando si scorre verso l'alto.
Usa l'attributo scroll-threshold per impostare quanti pixel devono essere scorsi prima che la barra di navigazione inizi a nascondersi.
Icone
L'attributo icon su <mdui-navigation-bar-item> imposta l'icona per lo stato inattivo. L'attributo active-icon imposta l'icona per lo stato attivo. Oppure, usa gli slot icon e active-icon per impostare le icone per gli stati inattivo e attivo.
Link
Usa l'attributo href sul componente <mdui-navigation-bar-item> per trasformare l'elemento della Navigation Bar in un link. Gli attributi download, target e rel sono disponibili per le normali funzionalità dei link.
Badge
Puoi aggiungere un badge al componente <mdui-navigation-bar-item> utilizzando lo slot badge.
mdui-navigation-bar-item API
Proprietà
| Attributo HTML | Proprietà JavaScript | Reflect | Tipo | Predefinito |
|---|---|---|---|---|
icon | icon | string | - | |
Nome dell'icona Material per lo stato non attivo. Può anche essere impostato tramite | ||||
active-icon | activeIcon | string | - | |
Nome dell'icona Material per lo stato attivo. Può anche essere impostato tramite | ||||
value | value | string | - | |
Valore dell'elemento di navigazione | ||||
href | href | string | - | |
URL di destinazione del collegamento. Se questa proprietà è impostata, il componente viene renderizzato come elemento | ||||
download | download | string | - | |
Destinazione del download del collegamento. Nota: questa proprietà è valida solo se è impostato l'attributo | ||||
target | target | '_blank' | '_parent' | '_self' | '_top' | - | |
Modalità di apertura del collegamento. I valori opzionali includono:
Nota: questa proprietà è valida solo se è impostato l'attributo | ||||
rel | rel | 'alternate' | 'author' | 'bookmark' | 'external' | 'help' | 'license' | 'me' | 'next' | 'nofollow' | 'noreferrer' | 'opener' | 'prev' | 'search' | 'tag' | - | |
Relazione tra il documento corrente e il documento collegato. I valori opzionali includono:
Nota: disponibile solo quando è specificato l'attributo | ||||
autofocus | autofocus | boolean | false | |
Se deve ricevere automaticamente il focus al caricamento della pagina | ||||
tabindex | tabIndex | number | - | |
Ordine di tabulazione dell'elemento | ||||
Metodi
| Nome | Parametri | Restituisce |
|---|---|---|
click | void | |
Simula un clic del mouse sull'elemento | ||
focus |
| void |
Imposta il focus sull'elemento corrente. È possibile passare un oggetto come parametro, le cui proprietà includono:
| ||
blur | void | |
Rimuove il focus dall'elemento corrente | ||
Slots
| Nome |
|---|
| (predefinito) |
Testo dell'elemento di navigazione |
icon |
Icona |
active-icon |
Elemento icona nello stato attivo |
badge |
Badge |
CSS Custom Property
| Nome |
|---|
--shape-corner-indicator |
Dimensione dell'arrotondamento degli angoli dell'indicatore. È possibile specificare un valore in pixel, ma si consiglia di fare riferimento al Design Token. |
mdui-navigation-bar API
Proprietà
| Attributo HTML | Proprietà JavaScript | Reflect | Tipo | Predefinito |
|---|---|---|---|---|
hide | hide | boolean | false | |
Se nascondere | ||||
label-visibility | labelVisibility | 'auto' | 'selected' | 'labeled' | 'unlabeled' | 'auto' | |
Stato di visibilità del testo. I valori opzionali includono:
| ||||
value | value | string | - | |
Valore del | ||||
scroll-behavior | scrollBehavior | 'hide' | 'shrink' | 'elevate' | - | |
Comportamento allo scorrimento. I valori opzionali includono:
| ||||
scroll-target | scrollTarget | string | HTMLElement | JQ<HTMLElement> | - | |
Elemento da monitorare per gli eventi di scorrimento. Il valore può essere un selettore CSS, un elemento DOM o un oggetto JQ. Per impostazione predefinita, ascolta l'evento di scorrimento di | ||||
scroll-threshold | scrollThreshold | number | - | |
Distanza di scorrimento necessaria per attivare il comportamento, in | ||||
order | order | number | - | |
Ordine di layout di questo componente all'interno di | ||||
Eventi
| Nome |
|---|
change |
Attivato quando il valore cambia |
show |
L'evento viene attivato all'inizio dell'apertura. Puoi impedirne l'apertura chiamando |
shown |
L'evento viene attivato al termine dell'animazione di apertura. |
hide |
L'evento viene attivato all'inizio della chiusura. È possibile impedirne la chiusura chiamando |
L'evento viene attivato al termine dell'animazione di chiusura. |
Slots
| Nome |
|---|
| (predefinito) |
Componente |
CSS Custom Property
| Nome |
|---|
--shape-corner |
Dimensione dell'arrotondamento degli angoli del componente. È possibile specificare un valore in pixel, ma si consiglia di fare riferimento al Design Token. |
--z-index |
Valore CSS |