NavigationBarBarra de navegação
A barra de navegação é usada em páginas móveis para facilitar a alternância entre várias páginas principais.
Como usar
Importe os componentes conforme necessário:
import 'mdui/components/navigation-bar.js';
import 'mdui/components/navigation-bar-item.js';
Importe os tipos TypeScript dos componentes conforme necessário:
import type { NavigationBar } from 'mdui/components/navigation-bar.js';
import type { NavigationBarItem } from 'mdui/components/navigation-bar-item.js';
Exemplo de uso: (o style="position: relative" no exemplo é apenas para fins de demonstração; remova este estilo ao usar.)
<mdui-navigation-bar value="item-1" style="position: relative">
<mdui-navigation-bar-item icon="place" value="item-1">Item 1</mdui-navigation-bar-item>
<mdui-navigation-bar-item icon="commute" value="item-2">Item 2</mdui-navigation-bar-item>
<mdui-navigation-bar-item icon="people" value="item-3">Item 3</mdui-navigation-bar-item>
</mdui-navigation-bar>Observações:
Este componente usa position: fixed por padrão e adiciona automaticamente padding-bottom ao body para evitar que o conteúdo da página seja ocultado pelo componente. No entanto, nos dois casos a seguir, ele usará position: absolute por padrão:
- Quando o atributo
scroll-targeté especificado. Assim,padding-bottomserá adicionado ao elementoscroll-target. - Quando o componente está dentro de
<mdui-layout></mdui-layout>. Assim, nenhumpadding-bottomserá adicionado.
Exemplos
Visibilidade do rótulo de texto
O rótulo de texto na barra de navegação é exibido sempre quando o número de itens de navegação é menor ou igual a 3; quando o número de itens é maior que 3, apenas o texto do item selecionado é exibido.
Você pode ajustar a visibilidade do rótulo de texto definindo o atributo label-visibility no componente <mdui-navigation-bar>. Os valores possíveis são:
selected: exibe apenas o texto do item selecionadolabeled: exibe sempre o textounlabeled: nunca exibe o texto
Dentro de um contêiner especificado
Por padrão, a barra de navegação é exibida na parte inferior da página, em relação à janela atual.
Se você deseja colocar a barra de navegação dentro de um contêiner especificado, defina o atributo scroll-target no componente <mdui-navigation-bar>. O valor deve ser o seletor CSS ou elemento DOM do contêiner de conteúdo rolável. Assim, a barra de navegação será exibida em relação ao elemento pai (você precisa adicionar os estilos position: relative; overflow: hidden ao elemento pai).
Ocultar ao rolar
Definindo o atributo scroll-behavior como hide no componente <mdui-navigation-bar>, você pode ocultar a barra de navegação ao rolar a página para baixo e exibi-la ao rolar para cima.
Use o atributo scroll-threshold para definir quantos pixels rolar antes de começar a ocultar a barra de navegação.
Ícone
No componente <mdui-navigation-bar-item>, o atributo icon é usado para definir o ícone do item de navegação no estado inativo, e o atributo active-icon para definir o ícone no estado ativo. Você também pode definir os elementos de ícone para os estados inativo e ativo pelos slots icon e active-icon.
Link
Defina o atributo href no componente <mdui-navigation-bar-item> para transformar o item de navegação em um link. Assim, você também pode usar os atributos relacionados a links: download, target, rel.
Badge
No componente <mdui-navigation-bar-item>, você pode adicionar um badge pelo slot badge.
mdui-navigation-bar-item API
Propriedades
| Atributo | Propriedade | Reflect | Tipo | Padrão |
|---|---|---|---|---|
icon | icon | string | - | |
Nome do ícone Material Icons para o estado inativo. Também pode ser definido via | ||||
active-icon | activeIcon | string | - | |
Nome do ícone Material Icons para o estado ativo. Também pode ser definido via | ||||
value | value | string | - | |
O valor do item de navegação. | ||||
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. | ||
Slots
| Nome |
|---|
| (padrão) |
Texto do item de navegação. |
icon |
Ícone. |
active-icon |
Elemento de ícone no estado ativo. |
badge |
Badge. |
Propriedades CSS personalizadas
| Nome |
|---|
--shape-corner-indicator |
Tamanho da borda arredondada do indicador. Pode ser um valor em pixels, mas é recomendado usar os design tokens. |
mdui-navigation-bar API
Propriedades
| Atributo | Propriedade | Reflect | Tipo | Padrão |
|---|---|---|---|---|
hide | hide | boolean | false | |
Define se o componente está oculto. | ||||
label-visibility | labelVisibility | 'auto' | 'selected' | 'labeled' | 'unlabeled' | 'auto' | |
Estado de visibilidade do texto. Os valores possíveis são:
| ||||
value | value | string | - | |
O valor do | ||||
scroll-behavior | scrollBehavior | 'hide' | 'shrink' | 'elevate' | - | |
Comportamento de rolagem. O valor possível é:
| ||||
scroll-target | scrollTarget | string | HTMLElement | JQ<HTMLElement> | - | |
O elemento no qual o evento de rolagem será monitorado. O valor pode ser um seletor CSS, um elemento DOM ou um objeto JQ. Por padrão, monitora o evento de rolagem da | ||||
scroll-threshold | scrollThreshold | number | - | |
A distância de rolagem, em | ||||
order | order | number | - | |
A ordem de layout deste componente dentro do | ||||
Eventos
| Nome |
|---|
change |
Disparado quando o valor muda. |
show |
Disparado quando o componente começa a ser exibido. Pode impedir a exibição chamando |
shown |
Disparado quando a animação de exibição é concluída. |
hide |
Disparado quando o componente começa a ser ocultado. Pode impedir a ocultação chamando |
Disparado quando a animação de ocultação é concluída. |
Propriedades CSS personalizadas
| Nome |
|---|
--shape-corner |
Tamanho da borda arredondada do componente. Pode ser um valor em pixels, mas é recomendado usar os design tokens. |
--z-index |
Valor CSS |