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

198
Vistas
¿Vue no puede obtener referencias montadas en nextTick después de importar dinámicamente el componente?

Estoy usando Nuxt js y Element UI. He importado los complementos de la interfaz de usuario de elementos dinámicamente en la carpeta de complementos.

 export default () => { Vue.component("ElForm", () => import("element-ui/lib/form")); Vue.component("ElFormItem", () => import("element-ui/lib/form-item")); Vue.component("ElInput", () => import("element-ui/lib/input")); ...... }

Ahora, cuando abro un cuadro de diálogo modal con un componente dentro de él. Devuelve error de referencia. Probablemente se deba a que el componente aún no está cargado. ¿Cómo manejo este escenario? Incluso nextTick no funciona.

 <template> <div> <el-form :model="form" :rules="rules" ref="ruleForm" v-loading="loading" @submit.prevent.native="submitOnReturn" > <el-form-item label="Title" prop="title"> <el-input v-model="form.title" ref="inputField" :autofocus="true" /> </el-form-item> <el-form-item label="Details" prop="body"> <el-input v-model="form.body" type="textarea" :rows="4" /> </el-form-item> <el-form-item class="form-buttons"> <el-button type="" @click="cancel">Cancel</el-button> <el-button type="primary" @click="updateProductFaq" v-if="editMode" >Update</el-button > <el-button type="primary" @click="addProductFaq" v-else>Save</el-button> </el-form-item> </el-form> </div> </template>
 mounted() { this.$nextTick(() => { // focus input on mount this.$refs.inputField.focus(); this.$refs.ruleForm.clearValidate(); }); },

this.$refs.inputField no está definido

about 4 years ago · Juan Pablo Isaza
1 Respuestas
Responde la pregunta

0

La referencia de plantilla de la el-input no está disponible en el enlace mounted del componente contenedor porque la entrada se representa de forma asíncrona.

Una solución consiste en agregar un controlador para el evento hook:mounted de el-input (ocurre con el gancho mounted del componente), donde se habría rellenado la referencia de la plantilla:

 <el-input ref="inputField" @hook:mounted="$refs.inputField.focus()" /> 👆

manifestación

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