Menu
I menu presentano un elenco di scelte in una superficie temporanea. Appaiono quando gli utenti interagiscono con un pulsante, un'azione o un altro controllo.
Per i menu a discesa, usa il componente <mdui-dropdown>.
Utilizzo
Importa i componenti:
import 'mdui/components/menu.js';
import 'mdui/components/menu-item.js';
Importa i tipi TypeScript:
import type { Menu } from 'mdui/components/menu.js';
import type { MenuItem } from 'mdui/components/menu-item.js';
Esempio:
<mdui-menu>
<mdui-menu-item>Elemento 1</mdui-menu-item>
<mdui-menu-item>Elemento 2</mdui-menu-item>
</mdui-menu>Stile Denso
Per uno stile di menu denso, aggiungi l'attributo dense a <mdui-menu>.
Elementi Disabilitati
Per disabilitare le voci di menu, aggiungi l'attributo disabled a <mdui-menu-item>.
Selezione Singola
Per la selezione singola, imposta l'attributo selects su single per <mdui-menu>. Il value di <mdui-menu> è il value del <mdui-menu-item> selezionato.
Selezione Multipla
Per la selezione multipla, imposta l'attributo selects su multiple per <mdui-menu>. Il value di <mdui-menu> è un array dei valori dei <mdui-menu-item> selezionati.
Nota: Per la selezione multipla, il value di <mdui-menu> è un array e può essere letto e impostato solo tramite proprietà JavaScript.
Icone
Per aggiungere Icone Material a sinistra e a destra, aggiungi gli attributi icon, end-icon a <mdui-menu-item>. Usa l'attributo end-text per aggiungere testo sul lato destro. Oppure, usa gli slot icon, end-icon, end-text per lo stesso scopo.
Impostare l'attributo icon su una stringa vuota riserva spazio per un'icona a sinistra in modo che l'elemento si allinei con gli altri.
Per la selezione singola o multipla, usa l'attributo o lo slot selected-icon per definire l'icona dello stato selezionato.
Link
Per trasformare la voce di menu in un link, usa l'attributo href sul componente <mdui-menu-item>. Gli attributi download, target e rel sono disponibili per le normali funzionalità dei link.
Sottomenu
Usa lo slot submenu in <mdui-menu-item> per definire le voci del sottomenu.
Usa l'attributo submenu-trigger su <mdui-menu> per definire come si apre il sottomenu.
Quando è impostato submenu-trigger="hover", usa gli attributi submenu-open-delay e submenu-close-delay su <mdui-menu> per impostare il ritardo per l'apertura e la chiusura del sottomenu.
Contenuto Personalizzato
Per personalizzare completamente il contenuto della voce di menu, usa lo slot custom in <mdui-menu-item>.
mdui-menu-item API
Proprietà
| Attributo HTML | Proprietà JavaScript | Reflect | Tipo | Predefinito |
|---|---|---|---|---|
value | value | string | - | |
Valore dell'elemento di menu | ||||
disabled | disabled | boolean | false | |
Se l'elemento di menu deve essere disabilitato | ||||
icon | icon | string | - | |
Nome dell'icona Material a sinistra. Può essere specificato anche tramite Se non serve mostrare un'icona a sinistra, ma vuoi riservare uno spazio per un'icona, puoi passare una stringa vuota come segnaposto. | ||||
end-icon | endIcon | string | - | |
Nome dell'icona Material a destra. Può essere specificato anche tramite | ||||
end-text | endText | string | - | |
Testo a destra. Può anche essere impostato tramite | ||||
selected-icon | selectedIcon | string | - | |
Nome dell'icona Material per lo stato selezionato. Può anche essere impostato tramite | ||||
submenu-open | submenuOpen | boolean | false | |
Indica se aprire il sottomenu | ||||
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 | ||
Eventi
| Nome |
|---|
focus |
Attivato quando si riceve il focus |
blur |
Attivato quando si perde il focus |
submenu-open |
L'evento viene attivato all'inizio dell'apertura del sottomenu. È possibile impedire l'apertura del sottomenu chiamando |
submenu-opened |
L'evento viene attivato al termine dell'animazione di apertura del sottomenu. |
submenu-close |
L'evento viene attivato all'inizio della chiusura del sottomenu. È possibile impedire la chiusura del sottomenu chiamando |
submenu-closed |
L'evento viene attivato al termine dell'animazione di chiusura del sottomenu. |
Slots
| Nome |
|---|
| (predefinito) |
Testo dell'elemento di menu |
icon |
Icona a sinistra dell'elemento di menu |
end-icon |
Icona a destra dell'elemento di menu |
end-text |
Testo a destra del menu |
selected-icon |
Icona nello stato selezionato |
submenu |
Sottomenu |
custom |
Qualsiasi contenuto personalizzato |
mdui-menu API
Proprietà
| Attributo HTML | Proprietà JavaScript | Reflect | Tipo | Predefinito |
|---|---|---|---|---|
selects | selects | 'single' | 'multiple' | - | |
Stato di selezione degli elementi del menu. Non selezionabile per impostazione predefinita. I valori opzionali includono:
| ||||
value | value | string | string[] | - | |
Valore del Nota: l'attributo HTML di questa proprietà è sempre una stringa e può essere impostato come valore iniziale tramite l'attributo HTML solo quando | ||||
dense | dense | boolean | false | |
Se gli elementi del menu utilizzano un layout compatto | ||||
submenu-trigger | submenuTrigger | 'click' | 'hover' | 'focus' | 'manual' | string | 'click hover' | |
Modalità di apertura del sottomenu. Supporta più valori separati da spazi. I valori opzionali includono:
| ||||
submenu-open-delay | submenuOpenDelay | number | 200 | |
Ritardo per l'apertura del sottomenu attivato dal passaggio del mouse, in millisecondi | ||||
submenu-close-delay | submenuCloseDelay | number | 200 | |
Ritardo per la chiusura del sottomenu attivato dal passaggio del mouse, in millisecondi | ||||
Slots
| Nome |
|---|
| (predefinito) |
Elementi come voci del sottomenu ( |
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. |