Conheça o Vuetify - parte 3

Esta é a terceira parte do nosso tutorial sobre o Vuetify. Neste artigo conheceremos melhor o Toolbar e a sua importância para a aplicação como um todo.

Toda aplicação necessita de uma barra de títulos e essa é uma das tarefas do toolbar, exibir um título. Além disso, também é possível adicionar botões e caixas de texto para realizar buscas.

Exemplo básico

O desenho básico de uma toolbar é:

Nessa toolbar, temos um botão com um ícone, um título e três botões extras no final da barra. O código para desenhar esta tool bar é:

 <v-toolbar>
    <v-toolbar-side-icon></v-toolbar-side-icon>
    <v-toolbar-title>Title</v-toolbar-title>
    <v-spacer></v-spacer>
    <v-toolbar-items class="hidden-sm-and-down">
      <v-btn flat>Link One</v-btn>
      <v-btn flat>Link Two</v-btn>
      <v-btn flat>Link Three</v-btn>
    </v-toolbar-items>
  </v-toolbar>

O botão em formato de menu é criado através do componente <v-toolbar-side-icon>, o título usa o componente <v-toolbar-title>. Já o <v-spacer> adiciona um espaço após o título forçando tudo que vier depois do spacer estar na parte direita da barra. Os próximos três botões estão agrupados pelo v-toolbar-items, que possui a classe hidden-sm, no qual irá esconder os itens em ambientes mobile (sm = small).

Toolbar da aplicação

Agora vamos dar uma olhada no nosso Toolbar da aplicação que criamos na parte 1 do artigo.

 <v-toolbar
      app
      :clipped-left="clipped"
    >
  <v-toolbar-side-icon @click.stop="drawer = !drawer"></v-toolbar-side-icon>
  
  <v-btn icon @click.stop="miniVariant = !miniVariant">
    <v-icon v-html="miniVariant ? 'chevron_right' : 'chevron_left'"></v-icon>
  </v-btn>
  <v-btn icon @click.stop="clipped = !clipped">
    <v-icon>web</v-icon>
  </v-btn>
  <v-btn icon @click.stop="fixed = !fixed">
    <v-icon>remove</v-icon>
  </v-btn>
  <v-toolbar-title v-text="title"></v-toolbar-title>
  <v-spacer></v-spacer>
  <v-btn icon @click.stop="rightDrawer = !rightDrawer">
    <v-icon>menu</v-icon>
  </v-btn>
</v-toolbar>

Esta toolbar está com bastantes ícones, e apresenta a seguinte forma:

O primeiro detalhe que vemos nesta aplicação é a presença do atributo app. Esse atributo informa que esta toolbar faz parte do layout de toda a aplicação (o componente v-app) ajustando assim o seu tamanho e posição de forma correta. A toolbar ficará sempre na parte superior da aplicação e responderá melhor aos eventos de resize da tela.

O tributo clipped-left informa que esta toolbar está ligada ao NavigationDrawer representado pela variável clipped. Na parte 2 do artigo vimos o NavigationDrawer à esquerda da aplicação, que possui o atributo :clipped="clipped". O primeiro botão da Toolbar é o elemento <v-toolbar-side-icon> que, ao clicar, alterna o valor da propriedade drawer. Esta propriedade controla se o menu da esquerda está visível ou não.

O próximo botão é formado pelo elemento <v-btn icon> que controla uma funcionalidade do menu chamada mini-variant, vista no artigo anterior. Ele usa variável miniVariant para este controle.

O próximo botão controla a funcionalidade chamada clipped, vista no artigo anterior. Depois temos outro botão que controle a propriedade fixed. Então temos o <v-toolbar-title v-text="title"> que exibe o título da aplicação. Após o título, como de costume, temos um <v-spacer></v-spacer> e tudo após ele é exibido na parte direta do toolbar, como o botão que controla o menu direito.

Propriedades importantes

  • app Define que a toolbar é da aplicação, então ela fica fixa no topo.
  • card Adere ao elemento “v-card”, removendo a sombra da barra inferior
  • color Cor da toolbar
  • dark Aplica a variação de cores “dark”, geralmente o título fica com a cor branca no texto do título
  • dense Reduz a altura da toolbar, deixando-a mais fina
  • extended Estende a toolbar para baixo, sem o uso de slot
  • extension-height A altura, em pixels, da barra estendida
  • flat Remove a borda com sombra
  • floating Deixa a barra flutuando sobre a página
  • light aplica o tema light
  • prominent Aumenta a altura da toolbar

Exemplo integrando Toolbar e Tabs

Neste exemplo temos o uso do ToolBar com abas. Para que esta combinaão seja possível, deve-se criar adicionar as abas no slot extension da Toolbar.

See the Pen Vuetify Example Pen by Daniel Schmitz (@danielschmitz) on CodePen.