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

89
Views
Vue: mantenga la entrada enfocada en el cambio de ruta

Tengo un componente TopNavBar , que está presente en todas las rutas. Este componente incluye un campo de entrada de búsqueda. Cuando un usuario hace clic en el campo de entrada, la ruta cambia de /bar a /foo pero se pierde el foco de entrada. ¿Cómo puedo (re) concentrarme en la entrada?

TopNavBar.vue

 <template>
 <input type="search" name="search-library" v-focus ref="searchInput" @focus="initSearch". />
</template>

<script setup>
const searchInput = ref(null);

<input type="search" name="search-library" v-focus ref="searchInput" @focus="initSearch". />

function initSearch() {
 if (router.currentRoute.value.name != "/foo") {
 router.push({ path: "/foo", query: { initSearch: true }, key: route.fullPath });
 }
}

watch(
 () => router.currentRoute.value.path,
 (newRoute) => {
 if (newRoute == "/foo") {
 searchInput.value.focus();
 }
 }
);
</script>

Estoy usando Vue3 y Nuxt3. v-focusz directive is declared globally in la carpeta /plugins` y funciona como se esperaba.

Actualizar

TopNavBar está dentro del diseño de Nuxt 3. Además, después de una investigación más profunda, me di cuenta de que la entrada se enfoca en el cambio de ruta, pero la vuelve a perder inmediatamente.

almost 4 years ago · Santiago Trujillo
1 answers
Answer question

0

Puede lograr esto usando $refs , adjunte una referencia en el elemento de entrada y luego llame al método de enfoque en él.

En plantilla:

 <parent-component>
 <search-component ref="searchComponentRef" />
</parent-component>

En guión:

 mounted() {
 this.$refs.searchComponentRef.$el.focus();
}
almost 4 years ago · Santiago Trujillo 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!