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

191
Views
¿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 answers
Answer question

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 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!