Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

472
Vistas
El elemento de entrada q de Quasar no emite un evento en el cambio de entrada (vuejs)

Aquí tengo ModalName.vue de dos componentes, que es un componente secundario y AddTask.vue que es un componente principal. Dentro ModalName.vue (componente secundario) si emito un evento sobre el cambio de entrada usando el elemento HTML <input /> para actualizar el estado en el componente principal, funciona perfectamente, pero si uso el componente quasar , es decir, <q-input /> entonces no emite el evento. ¿Qué tiene de malo este código?

 ModalName.vue
 <template> <div class="row q-mb-sm"> <!-- <input :value="name" @input="$emit('changeName:name', $event)"/> --> <q-input :value="name" @input="$emit('changeName:name', $event)" /> </div> </template> <script> export default { props: ["name"], } </script>
 AddTask.vue
 <template> <ModalName v-model:name="taskToSubmit.name" @changeName:name="(e)=>taskToSubmit.name = e.target.value" /> </template> <script> export default { data(){ return{ taskToSubmit:{ name: '', dueDate: '', dueTime: '', completed: false } } }, components:{ ModalName: require('./shared/ModalName.vue').default } } </script>
about 4 years ago · Juan Pablo Isaza
2 Respuestas
Responde la pregunta

0

Solía funcionar en Quasar v1 de esta manera, pero Quasar v2 (Vue 3) cambió este comportamiento y @input ya no se activa. Esta es la forma de hacerlo ahora:

 <q-input :value="name" @update:model-value="newValue => $emit('changeName:name', newValue)" />

También es necesario configurar emits: ['changeName:name']

Referencias:

  • https://quasar.dev/start/upgrade-guide#vue-3-breaking-changes-examples
  • https://vuejs.org/guide/components/events.html#usage-with-v-model (gracias Sr. R)
about 4 years ago · Juan Pablo Isaza Denunciar

0

puede intentar

 <q-input :value="name" @input="(val) => $emit('changeName:name', val)" />

el parámetro pasado por el evento @input son los datos modificados, no el evento

about 4 years ago · Juan Pablo Isaza Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda