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

129
Vistas
No se pudo resolver el componente al anidar varios niveles

Estoy creando una aplicación de encuestas en Vue3 con la siguiente estructura:

  • Encuesta
    • Sección
      • Pregunta (Texto)
      • Pregunta (área de texto)
      • Número de pregunta)
      • etc...
      • Pregunta (Repetidor)
        • Fila de repetidores
          • Pregunta (Texto)
          • Pregunta (área de texto)
          • Número de pregunta)
          • etc...
          • Pregunta (Repetidor)
            • Fila de repetidores
              • etc...

Estos son todos los componentes con cada uno nombrado exactamente como lo describí anteriormente.

La sección comienza a recorrer el primer nivel de preguntas:

 <div v-for="question in questions" :key="question.id" v-show="question.visible"> <Question ... /> </div>

Cada pregunta tiene un campo principal (que es solo una etiqueta) y llama al nombre correspondiente de la base de datos:

 <template> <Field :label="title"> <component :is="getComponentByType(type.name)" ... /> </Field> </template> export default { name: 'Question', methods: { getFieldComponentByType(name) { let componentName = '' switch (name) { case 'number': componentName = 'InputNumber' break; case 'datetime': componentName = 'InputDateTime' break; case 'textarea': componentName = 'InputTextarea' break; case 'repeater': componentName = 'Repeater' break; ... etc default: componentName = 'InputText' break; } return componentName } } }

Entonces también puede haber una pregunta repetida que simplemente recorre las preguntas secundarias.

 <div v-for="question in questions" :key="question.id" v-show="question.visible"> <Question ... /> </div>

Para la pregunta del repetidor, recibo el siguiente error de vue:

 [Vue warn]: Failed to resolve component: Question If this is a native custom element, make sure to exclude it from component resolution via compilerOptions.isCustomElement. at <Repeater required=false formId=125 name=393 ... >

Lo extraño es que cuando construyo esta estructura en vue2 funciona pero en vue3 no. ¿Por qué vue3 tiene conflictos cuando recupero componentes en una estructura anidada? No quiero tener que duplicar mi código, por ejemplo, en RepeaterQuestion.

about 4 years ago · Juan Pablo Isaza
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