Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

463
Views
¿Cómo colocar un componente adhesivo debajo de una barra de aplicaciones vuetify fija (y oculta)?

Tengo una v-app-bar de Vuetify, que está configurada para ocultarse al desplazarse.

 <v-app-bar app hide-on-scroll ref="navbar" id="navbar" >

También tengo pestañas en V, que quiero colocar debajo de ellas:

 <v-tabs class="sticky" grow v-model="tab" > <v-tab :value="1">Tab 1</v-tab> <v-tab :value="2">Tab 2</v-tab> </v-tabs>

Clase pegajosa de CSS:

 .sticky { position: sticky; top: 0; z-index: 1; }

Esto funciona, en principio. Al desplazarse hacia abajo, la barra de la aplicación desaparece y las pestañas se quedan en la parte superior de la pantalla. Agradable.

Sin embargo, dado que la v-app-bar está configurada para ocultarse al desplazarse (que realmente me gustaría mantener así), significa que se oculta cuando se desplaza hacia abajo y vuelve a aparecer cuando se desplaza hacia arriba.

El problema es que se posiciona en la parte superior de la barra de v-app cuando reaparece. ¿Cómo puedo colocar las v-tabs siempre debajo de la v-app-bar que se esconde/reaparece?

Tengo algunos enfoques en mente, pero hasta ahora todos han fallado:

Enfoque de Js/Vue: si tan solo pudiera saber si la barra de la aplicación virtual está oculta o si está visible, podría agregar los 48 px en la parte superior del adhesivo. V-app-bar no emite ningún evento cuando aparece/oculta, pero puedo leer la altura de los componentes desde this.$refs.navbar.computedContentHeight , o desde document.getElementById('navbar').clientHeight , el único problema es que estos son no reactivo.

Enfoque CSS: la posición de la barra de navegación es fixed , cuando se oculta, Vuetify le agrega una clase v-app-bar--is-scrolled , por lo que hay algo en lo que podemos engancharnos. Por lo que puedo decir, no parece tener ninguna propiedad. Extrañamente, no puedo entender qué propiedades CSS se usan para ocultar la barra, cuando hago la transición entre estados, veo en las herramientas de desarrollo de Chrome que se agrega la clase mencionada, pero nada cambia en las propiedades calculadas.

¿Alguna idea inteligente? (Intentaré encontrar un jsFiddle o algo así, pero no me queda tiempo en este momento)

about 4 years ago · Juan Pablo Isaza
2 answers
Answer question

0

Lo hice usando la ranura de extensión . Se usa en los casos en los que desea que algunos elementos se sigan mostrando mientras la barra de la aplicación está oculta.

 <v-app-bar app hide-on-scroll ref="navbar" id="navbar" extension-height="extionsion's height" > <template v-slot:extension> <v-tabs class="sticky" grow v-model="tab" > <v-tab :value="1">Tab 1</v-tab> <v-tab :value="2">Tab 2</v-tab> </v-tabs> </template> </v-app-bar>
about 4 years ago · Juan Pablo Isaza Report

0

Tal vez podría usar la ranura #extension para eso: https://vuetifyjs.com/en/api/v-app-bar/#slots-extension

about 4 years ago · Juan Pablo Isaza Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!