MenuNabídka
Nabídka zobrazuje svisle uspořádané možnosti a otevírá se po interakci s tlačítkem nebo jiným ovládacím prvkem.
Pokud potřebujete implementovat rozbalovací nabídku, můžete použít komponentu <mdui-dropdown>.
Způsob použití
Importujte komponenty podle potřeby:
import 'mdui/components/menu.js';
import 'mdui/components/menu-item.js';
Importujte TypeScript typy komponent podle potřeby:
import type { Menu } from 'mdui/components/menu.js';
import type { MenuItem } from 'mdui/components/menu-item.js';
Příklad použití:
<mdui-menu>
<mdui-menu-item>Položka 1</mdui-menu-item>
<mdui-menu-item>Položka 2</mdui-menu-item>
</mdui-menu>Příklady
Rozbalovací nabídka
Použijte komponentu <mdui-dropdown> k implementaci rozbalovací nabídky.
Kompaktní rozvržení
Přidáním atributu dense na komponentu <mdui-menu> dosáhnete kompaktního rozvržení.
Zakázaná položka nabídky
Přidáním atributu disabled na komponentu <mdui-menu-item> zakážete položku nabídky.
Podpora jednoho výběru
Nastavením atributu selects="single" na komponentě <mdui-menu> zapnete režim jednoho výběru. Hodnota value komponenty <mdui-menu> je pak hodnotou value aktuálně vybrané komponenty <mdui-menu-item>.
Podpora více výběru
Nastavením atributu selects="multiple" na komponentě <mdui-menu> zapnete režim vícenásobného výběru. Hodnota value komponenty <mdui-menu> je pak pole hodnot value aktuálně vybraných komponent <mdui-menu-item>.
Poznámka: V režimu vícenásobného výběru je hodnota value komponenty <mdui-menu> pole a lze ji číst i nastavovat pouze pomocí JavaScript vlastnosti.
Ikona
Na komponentě <mdui-menu-item> můžete pomocí atributů icon a end-icon přidat ikony Material Icons na levou a pravou stranu položky nabídky. Pomocí atributu end-text můžete přidat text na pravou stranu. Kromě toho můžete také přidat ikony a text na levou a pravou stranu položky nabídky pomocí slotů icon, end-icon a end-text.
Pokud potřebujete ponechat prázdné místo pro ikonu na levé straně položky nabídky pro zachování zarovnání s ostatními položkami nabídky, můžete atribut icon nastavit na prázdný řetězec.
V režimu jednoho či vícenásobného výběru můžete pomocí atributu selected-icon nebo slotu selected-icon nastavit ikonu vybraného stavu.
Odkaz
Nastavením atributu href na komponentě <mdui-menu-item> změníte položku nabídky na odkaz. Pak můžete také použít atributy související s odkazy: download, target, rel.
Podnabídka
V komponentě <mdui-menu-item> můžete použít slot submenu k určení prvků položek podnabídky.
Na komponentě <mdui-menu> můžete pomocí atributu submenu-trigger nastavit způsob spuštění podnabídky.
Když je atribut submenu-trigger nastaven na hover, můžete na komponentě <mdui-menu> pomocí atributů submenu-open-delay a submenu-close-delay nastavit zpoždění otevření a zavření podnabídky.
Vlastní obsah
V komponentě <mdui-menu-item> můžete pomocí slotu custom zcela přizpůsobit obsah položky nabídky.
mdui-menu-item API
Vlastnosti
| Atribut | Vlastnost | Reflect | Typ | Výchozí |
|---|---|---|---|---|
value | value | string | - | |
Hodnota položky nabídky. | ||||
disabled | disabled | boolean | false | |
Určuje, zda je položka nabídky zakázaná. | ||||
icon | icon | string | - | |
Název ikony z knihovny Material Icons na levé straně. Lze také nastavit pomocí Pokud ikonu nechcete zobrazit, ale zachovat pro ni místo vlevo, můžete použít prázdný řetězec jako zástupný symbol. | ||||
end-icon | endIcon | string | - | |
Název ikony z knihovny Material Icons na pravé straně. Lze také nastavit pomocí | ||||
end-text | endText | string | - | |
Text na pravé straně. Lze také nastavit pomocí | ||||
selected-icon | selectedIcon | string | - | |
Název ikony z knihovny Material Icons pro vybraný stav. Lze také nastavit pomocí | ||||
submenu-open | submenuOpen | boolean | false | |
Určuje, zda je otevřena podnabídka. | ||||
href | href | string | - | |
Cílová URL odkazu. Pokud je tato vlastnost nastavena, komponenta se interně vykreslí jako prvek | ||||
download | download | string | - | |
Soubor ke stažení. Poznámka: Platí pouze, pokud je nastaven atribut | ||||
target | target | '_blank' | '_parent' | '_self' | '_top' | - | |
Způsob otevření odkazu. Možné hodnoty:
Poznámka: Platí pouze, pokud je nastaven atribut | ||||
rel | rel | 'alternate' | 'author' | 'bookmark' | 'external' | 'help' | 'license' | 'me' | 'next' | 'nofollow' | 'noreferrer' | 'opener' | 'prev' | 'search' | 'tag' | - | |
Vztah mezi aktuálním dokumentem a odkazovaným dokumentem. Možné hodnoty:
Poznámka: Dostupné pouze při zadání atributu | ||||
autofocus | autofocus | boolean | false | |
Určuje, zda prvek získá automaticky fokus po dokončení načítání stránky. | ||||
tabindex | tabIndex | number | - | |
Pořadí prvku při přepínání fokusu pomocí klávesy Tab. | ||||
Metody
| Název | Parametry | Vrací |
|---|---|---|
click | void | |
Simuluje kliknutí myší na prvek. | ||
focus |
| void |
Nastaví fokus na aktuální prvek. Lze předat objekt jako parametr s vlastnostmi:
| ||
blur | void | |
Odebere fokus z aktuálního prvku. | ||
Události
| Název |
|---|
focus |
Spustí se při získání fokusu. |
blur |
Spustí se při ztrátě fokusu. |
submenu-open |
Spustí se na začátku otevírání podnabídky. Otevření lze zabránit voláním |
submenu-opened |
Spustí se po dokončení animace otevření podnabídky. |
submenu-close |
Spustí se na začátku zavírání podnabídky. Zavření lze zabránit voláním |
submenu-closed |
Spustí se po dokončení animace zavření podnabídky. |
mdui-menu API
Vlastnosti
| Atribut | Vlastnost | Reflect | Typ | Výchozí |
|---|---|---|---|---|
selects | selects | 'single' | 'multiple' | - | |
Režim výběru položek nabídky. Výchozí: výběr není povolen. Možné hodnoty:
| ||||
value | value | string | string[] | - | |
Hodnota aktuálně vybraného prvku Poznámka: HTML atribut této vlastnosti je vždy řetězec a počáteční hodnotu lze nastavit pomocí HTML atributu pouze pokud je | ||||
dense | dense | boolean | false | |
Určuje, zda položky nabídky používají kompaktní rozložení. | ||||
submenu-trigger | submenuTrigger | 'click' | 'hover' | 'focus' | 'manual' | string | 'click hover' | |
Způsob spuštění podnabídky. Lze zadat více hodnot oddělených mezerami. Možné hodnoty:
| ||||
submenu-open-delay | submenuOpenDelay | number | 200 | |
Zpoždění (v ms) před otevřením podnabídky při najetí myší. | ||||
submenu-close-delay | submenuCloseDelay | number | 200 | |
Zpoždění (v ms) před zavřením podnabídky při najetí myší. | ||||
Slots
| Název |
|---|
| (výchozí) |
Prvky jako položky podnabídky ( |
CSS Custom Properties
| Název |
|---|
--shape-corner |
Velikost zaoblení rohů komponenty. Lze zadat konkrétní hodnotu v pixelech; doporučuje se však odkazovat na Designové tokeny. |