Skip to content

MeBreadcrumbs

Trilha de navegação com links clicáveis, separadores automáticos e renderização inteligente do último item.

Playground

Importação

vue
<script>
import { MeBreadcrumbs } from '@/components/global/utils/export/index'
</script>

Uso Básico

Passe um array de items com label e to opcional. O último item nunca é renderizado como link.

vue
<MeBreadcrumbs
  :items="[
    { label: 'Home', to: '/' },
    { label: 'Usuários', to: '/users' },
    { label: 'Detalhe' }
  ]"
/>

Quando os itens não possuem to, todos são renderizados como texto simples.

vue
<MeBreadcrumbs
  :items="[
    { label: 'Início' },
    { label: 'Configurações' },
    { label: 'Perfil' }
  ]"
/>

Item Único

Com apenas um item, nenhum separador é exibido.

vue
<MeBreadcrumbs :items="[{ label: 'Página Atual' }]" />
vue
<MeBreadcrumbs
  :items="[
    { label: 'Home', to: '/' },
    { label: 'Licitações', to: '/licitacoes' },
    { label: 'Pregão', to: '/licitacoes/pregao' },
    { label: '2024', to: '/licitacoes/pregao/2024' },
    { label: 'Processo nº 001/2024' }
  ]"
/>

Comportamento do Último Item

O último item sempre é renderizado como <span> com a classe me-breadcrumbs__current, mesmo que possua a propriedade to.

vue
<!-- O 'to' do último item é ignorado -->
<MeBreadcrumbs
  :items="[
    { label: 'Home', to: '/' },
    { label: 'Página Final', to: '/vai-ser-ignorado' }
  ]"
/>

Dica

Use to apenas nos itens que devem ser navegáveis. O último item (página atual) nunca precisa de to.

API

Props

PropTipoPadrãoDescrição
itemsBreadcrumbItem[][]Lista de itens do breadcrumb.
CampoTipoObrigatórioDescrição
labelstringSimTexto exibido no item.
tostringNãoURL do link. Ignorado no último item.

Acessibilidade

  • Elemento raiz é <nav aria-label="Breadcrumb"> para identificação por leitores de tela
  • Itens com link usam <a> nativo para navegação por teclado
  • Separadores (chevron_right) são elementos visuais, não interferem na leitura

Dica

Para aplicações com roteador (Vue Router / Nuxt), adapte o href para usar <router-link> ou a diretiva adequada ao seu roteador.