NavigationBarPasek nawigacji
Pasek nawigacji umożliwia szybkie przechodzenie między kilkoma głównymi stronami na urządzeniach mobilnych.
Sposób użycia
Zaimportuj komponenty:
import 'mdui/components/navigation-bar.js';
import 'mdui/components/navigation-bar-item.js';
Zaimportuj typy TypeScript komponentów:
import type { NavigationBar } from 'mdui/components/navigation-bar.js';
import type { NavigationBarItem } from 'mdui/components/navigation-bar-item.js';
Przykład użycia: (Uwaga: style="position: relative" w przykładzie służy tylko do demonstracji; w produkcji usuń ten styl.)
<mdui-navigation-bar value="item-1" style="position: relative">
<mdui-navigation-bar-item icon="place" value="item-1">Pozycja 1</mdui-navigation-bar-item>
<mdui-navigation-bar-item icon="commute" value="item-2">Pozycja 2</mdui-navigation-bar-item>
<mdui-navigation-bar-item icon="people" value="item-3">Pozycja 3</mdui-navigation-bar-item>
</mdui-navigation-bar>Uwagi:
Ten komponent domyślnie używa pozycjonowania position: fixed i automatycznie dodaje styl padding-bottom do body, aby zapobiec zasłanianiu treści strony przez komponent. Jednak w następujących dwóch przypadkach domyślnie używane jest pozycjonowanie position: absolute:
- Gdy określony jest atrybut
scroll-target, stylpadding-bottomjest dodawany do elementuscroll-target. - Gdy komponent znajduje się wewnątrz komponentu
<mdui-layout></mdui-layout>. Wtedy stylpadding-bottomnie jest dodawany.
Przykłady
Widoczność etykiety tekstowej
Etykieta tekstowa na pasku nawigacji jest domyślnie zawsze widoczna, gdy liczba elementów nawigacji jest mniejsza lub równa 3; gdy jest większa niż 3, etykieta jest widoczna tylko dla zaznaczonego stanu.
Możesz dostosować widoczność etykiety tekstowej, ustawiając atrybut label-visibility na komponencie <mdui-navigation-bar>. Dozwolone wartości:
selected: Tylko dla zaznaczonego stanulabeled: Zawsze widocznaunlabeled: Zawsze niewidoczna
Umieszczenie w określonym kontenerze
Domyślnie pasek nawigacji jest wyświetlany na dole strony względem bieżącego okna.
Jeśli chcesz umieścić pasek nawigacji w określonym kontenerze, możesz określić atrybut scroll-target na komponencie <mdui-navigation-bar>. Wartością atrybutu powinien być selektor CSS lub element DOM kontenera z przewijaną treścią. W tym przypadku pasek nawigacji będzie wyświetlany względem elementu nadrzędnego (musisz samodzielnie dodać do elementu nadrzędnego style position: relative; overflow: hidden).
Ukrywanie podczas przewijania
Ustawienie atrybutu scroll-behavior na hide na komponencie <mdui-navigation-bar> spowoduje ukrycie paska nawigacji podczas przewijania strony w dół i pokazanie go podczas przewijania w górę.
Atrybut scroll-threshold ustawia, po przewinięciu ilu pikseli zaczyna się ukrywanie paska nawigacji.
Ikona
Na komponencie <mdui-navigation-bar-item> atrybut icon służy do ustawienia ikony dla nieaktywnego stanu, a active-icon dla aktywnego stanu. Możesz również użyć slotów icon i active-icon do ustawienia elementów ikony dla stanu nieaktywnego i aktywnego.
Link
Ustawienie atrybutu href na komponencie <mdui-navigation-bar-item> zmienia element nawigacji w link. Dodatkowo możesz użyć atrybutów związanych z linkami: download, target, rel.
Badge
W komponencie <mdui-navigation-bar-item> możesz dodać badge za pomocą slotu badge.
mdui-navigation-bar-item API
Właściwości
| Atrybut HTML | Właściwość JavaScript | Reflect | Typ | Domyślne |
|---|---|---|---|---|
icon | icon | string | - | |
Nazwa ikony Material Icons dla stanu nieaktywnego. Można również ustawić za pomocą | ||||
active-icon | activeIcon | string | - | |
Nazwa ikony Material Icons dla stanu aktywnego. Można również ustawić za pomocą | ||||
value | value | string | - | |
Wartość elementu nawigacyjnego | ||||
href | href | string | - | |
Docelowy adres URL łącza. Jeśli atrybut jest ustawiony, komponent jest renderowany jako element | ||||
download | download | string | - | |
Nazwa pliku do pobrania. Uwaga: Ten atrybut działa tylko wtedy, gdy ustawiono atrybut | ||||
target | target | '_blank' | '_parent' | '_self' | '_top' | - | |
Sposób otwarcia łącza. Dozwolone wartości:
Uwaga: Ten atrybut działa tylko wtedy, gdy ustawiono atrybut | ||||
rel | rel | 'alternate' | 'author' | 'bookmark' | 'external' | 'help' | 'license' | 'me' | 'next' | 'nofollow' | 'noreferrer' | 'opener' | 'prev' | 'search' | 'tag' | - | |
Relacja między bieżącym dokumentem a dokumentem, do którego prowadzi łącze. Dozwolone wartości:
Uwaga: Dostępne tylko wtedy, gdy określono atrybut | ||||
autofocus | autofocus | boolean | false | |
Określa, czy element automatycznie uzyskuje fokus po załadowaniu strony. | ||||
tabindex | tabIndex | number | - | |
Określa kolejność elementu podczas nawigacji za pomocą klawiatury (przycisk Tab). | ||||
Metody
| Nazwa | Parametry | Zwraca |
|---|---|---|
click | void | |
Symuluje kliknięcie myszą na elemencie | ||
focus |
| void |
Przenosi fokus na bieżący element. Można przekazać obiekt jako parametr, którego właściwości obejmują:
| ||
blur | void | |
Usuwa fokus z bieżącego elementu | ||
Slots
| Nazwa |
|---|
| (domyślny) |
Tekst elementu nawigacyjnego |
icon |
Ikona |
active-icon |
Element ikony dla stanu aktywnego |
badge |
Badge |
Właściwości niestandardowe CSS
| Nazwa |
|---|
--shape-corner-indicator |
Wielkość zaokrąglenia rogów wskaźnika. Można określić konkretną wartość w pikselach; ale zaleca się odwołanie do tokenów projektowych |
mdui-navigation-bar API
Właściwości
| Atrybut HTML | Właściwość JavaScript | Reflect | Typ | Domyślne |
|---|---|---|---|---|
hide | hide | boolean | false | |
Określa, czy pasek nawigacji jest ukryty. | ||||
label-visibility | labelVisibility | 'auto' | 'selected' | 'labeled' | 'unlabeled' | 'auto' | |
Stan widoczności tekstu. Dozwolone wartości:
| ||||
value | value | string | - | |
Wartość aktualnie zaznaczonego | ||||
scroll-behavior | scrollBehavior | 'hide' | 'shrink' | 'elevate' | - | |
Zachowanie podczas przewijania. Dozwolone wartości:
| ||||
scroll-target | scrollTarget | string | HTMLElement | JQ<HTMLElement> | - | |
Element, na którym nasłuchiwane są zdarzenia przewijania. Może to być selektor CSS, element DOM lub obiekt JQ. Domyślnie nasłuchiwane są zdarzenia przewijania okna ( | ||||
scroll-threshold | scrollThreshold | number | - | |
Odległość przewinięcia w | ||||
order | order | number | - | |
Kolejność tego komponentu w układzie | ||||
Zdarzenia
| Nazwa |
|---|
change |
Wywoływane, gdy wartość się zmieni |
show |
Wywoływane przed wyświetleniem. Można zapobiec wyświetleniu, wywołując |
shown |
Wywoływane po zakończeniu animacji wyświetlania |
hide |
Wywoływane przed ukryciem. Można zapobiec ukryciu, wywołując |
Wywoływane po zakończeniu animacji ukrywania |
Slots
| Nazwa |
|---|
| (domyślny) |
Komponent |
Właściwości niestandardowe CSS
| Nazwa |
|---|
--shape-corner |
Wielkość zaokrąglenia rogów komponentu. Można określić konkretną wartość w pikselach; ale zaleca się odwołanie do tokenów projektowych |
--z-index |
Wartość CSS |