MenuMenu
O componente menu fornece uma série de opções dispostas verticalmente. O menu é exibido quando o usuário interage com um botão ou outro controle.
Se você precisar implementar um menu suspenso, pode usar o componente <mdui-dropdown>.
Como usar
Importe os componentes conforme necessário:
import 'mdui/components/menu.js';
import 'mdui/components/menu-item.js';
Importe os tipos TypeScript dos componentes conforme necessário:
import type { Menu } from 'mdui/components/menu.js';
import type { MenuItem } from 'mdui/components/menu-item.js';
Exemplo de uso:
<mdui-menu>
<mdui-menu-item>Item 1</mdui-menu-item>
<mdui-menu-item>Item 2</mdui-menu-item>
</mdui-menu>Exemplos
Menu suspenso
Use junto com o componente <mdui-dropdown> para implementar um menu suspenso.
Layout compacto
Use o atributo dense no componente <mdui-menu> para obter um layout compacto.
Desabilitar item do menu
Use o atributo disabled no componente <mdui-menu-item> para desabilitar o item do menu.
Suporte a seleção única
Defina o atributo selects como single no componente <mdui-menu> para habilitar a seleção única. Assim, o valor value do <mdui-menu> será o valor value do <mdui-menu-item> atualmente selecionado.
Suporte a seleção múltipla
Defina o atributo selects como multiple no componente <mdui-menu> para habilitar a seleção múltipla. Assim, o valor value do <mdui-menu> será um array dos valores value dos <mdui-menu-item> atualmente selecionados.
Nota: No modo de seleção múltipla, o valor value do <mdui-menu> é um array e só pode ser lido e definido por propriedades JavaScript.
Ícone
No componente <mdui-menu-item>, use os atributos icon e end-icon para adicionar ícones do Material Icons à esquerda e à direita do item do menu, respectivamente. Use o atributo end-text para adicionar texto à direita. Além disso, você pode usar os slots icon, end-icon e end-text para adicionar ícones e texto à esquerda e à direita do item do menu.
Se você precisar deixar um espaço vazio para ícone à esquerda do item do menu para manter o alinhamento com outros itens, defina o atributo icon como uma string vazia.
No modo de seleção única ou múltipla, você pode usar o atributo selected-icon ou o slot selected-icon para definir o ícone do estado selecionado.
Link
Defina o atributo href no componente <mdui-menu-item> para transformar o item do menu em um link. Assim, você também pode usar os atributos relacionados a links: download, target e rel.
Submenu
No componente <mdui-menu-item>, use o slot submenu para especificar os elementos do submenu.
No componente <mdui-menu>, você pode usar o atributo submenu-trigger para definir o modo de acionamento do submenu.
Quando submenu-trigger é definido como hover, você pode usar os atributos submenu-open-delay e submenu-close-delay no componente <mdui-menu> para definir o atraso de abertura e fechamento do submenu.
Conteúdo personalizado
No componente <mdui-menu-item>, você pode usar o slot custom para personalizar completamente o conteúdo do item do menu.
mdui-menu-item API
Propriedades
| Atributo | Propriedade | Reflect | Tipo | Padrão |
|---|---|---|---|---|
value | value | string | - | |
O valor do item de menu. | ||||
disabled | disabled | boolean | false | |
Define se o item de menu está desabilitado. | ||||
icon | icon | string | - | |
Nome do ícone Material Icons à esquerda. Também pode ser definido via Se nenhum ícone precisar ser exibido à esquerda, mas um espaço para ícone for necessário, pode-se passar uma string vazia para reservar o espaço. | ||||
end-icon | endIcon | string | - | |
Nome do ícone Material Icons à direita. Também pode ser definido via | ||||
end-text | endText | string | - | |
Texto à direita. Também pode ser definido via | ||||
selected-icon | selectedIcon | string | - | |
Nome do ícone Material Icons para o estado selecionado. Também pode ser definido via | ||||
submenu-open | submenuOpen | boolean | false | |
Define se o submenu está aberto. | ||||
href | href | string | - | |
A URL de destino do link. Ao definir esta propriedade, o componente será renderizado internamente como um elemento | ||||
download | download | string | - | |
O nome do arquivo para download. Nota: Esta propriedade só é válida quando o atributo | ||||
target | target | '_blank' | '_parent' | '_self' | '_top' | - | |
Define como o link será aberto. Os valores possíveis são:
Nota: Esta propriedade só é válida quando o atributo | ||||
rel | rel | 'alternate' | 'author' | 'bookmark' | 'external' | 'help' | 'license' | 'me' | 'next' | 'nofollow' | 'noreferrer' | 'opener' | 'prev' | 'search' | 'tag' | - | |
A relação entre o documento atual e o documento vinculado. Os valores possíveis são:
Nota: Disponível apenas quando o atributo | ||||
autofocus | autofocus | boolean | false | |
Define se o elemento deve receber foco automaticamente após o carregamento da página. | ||||
tabindex | tabIndex | number | - | |
A ordem do elemento ao navegar com a tecla Tab. | ||||
Métodos
| Nome | Parâmetros | Retorno |
|---|---|---|
click | void | |
Simula um clique do mouse no elemento. | ||
focus |
| void |
Define o foco no elemento atual. Você pode passar um objeto como argumento, com as seguintes propriedades:
| ||
blur | void | |
Remove o foco do elemento atual. | ||
Eventos
| Nome |
|---|
focus |
Disparado ao receber foco. |
blur |
Disparado ao perder o foco. |
submenu-open |
Disparado quando o submenu começa a abrir. Pode impedir a abertura chamando |
submenu-opened |
Disparado quando a animação de abertura do submenu é concluída. |
submenu-close |
Disparado quando o submenu começa a fechar. Pode impedir o fechamento chamando |
submenu-closed |
Disparado quando a animação de fechamento do submenu é concluída. |
mdui-menu API
Propriedades
| Atributo | Propriedade | Reflect | Tipo | Padrão |
|---|---|---|---|---|
selects | selects | 'single' | 'multiple' | - | |
Estado de seleção dos itens do menu. O padrão é não selecionável. Os valores possíveis são:
| ||||
value | value | string | string[] | - | |
O valor do Nota: O atributo HTML desta propriedade é sempre uma string e só pode definir o valor inicial via atributo HTML quando | ||||
dense | dense | boolean | false | |
Define se os itens do menu usam layout compacto. | ||||
submenu-trigger | submenuTrigger | 'click' | 'hover' | 'focus' | 'manual' | string | 'click hover' | |
Forma de acionamento do submenu. Suporta múltiplos valores separados por espaço. Os valores possíveis são:
| ||||
submenu-open-delay | submenuOpenDelay | number | 200 | |
Atraso, em milissegundos, para abrir o submenu ao passar o mouse. | ||||
submenu-close-delay | submenuCloseDelay | number | 200 | |
Atraso, em milissegundos, para fechar o submenu ao passar o mouse. | ||||
Slots
| Nome |
|---|
| (padrão) |
Elementos como itens de submenu ( |
Propriedades CSS personalizadas
| Nome |
|---|
--shape-corner |
Tamanho da borda arredondada do componente. Pode ser um valor em pixels, mas é recomendado usar os design tokens. |