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

333
Vistas
¿Cómo puedo agregar y eliminar dinámicamente componentes Svelte en cada bloque?

Considere que tengo una serie de objetos, de los cuales se pueden agregar y quitar cosas. Para cada objeto, quiero que se represente un componente Svelte.

Si se elimina un objeto, quiero que se destruya su componente Svelte correspondiente. Si se agrega un objeto, quiero que se cree un componente Svelte correspondiente.

Hasta ahora tengo algo ingenuo, como esto:

 <script> let someObjects = []; const addObject = (obj) => { someObjects = [...someObjects, obj]; } const removeObject = (idx) => { someObjects.splice(idx, 1); someObjects = someObjects; } // ... </script> {#each someObjects as obj} <SomeComponent object={obj} /> {/each}

Esto no funciona del todo. Si elimina un objeto a la mitad de la matriz, entonces, de hecho, desde la perspectiva de Svelte, el elemento final de la matriz se ha eliminado y otros elementos simplemente se han modificado.

Esto significa que los componentes Svelte se conservan pero con parámetros de object modificados, lo que rompe cualquier estado interno y lo que sea.

¿Cómo puedo forzar la destrucción de un objeto a la mitad de la matriz y evitar que los demás cambien? ¿La solución quizás esté relacionada con bind:this ?

about 4 years ago · Santiago Trujillo
1 Respuestas
Responde la pregunta

0

Esto se puede archivar en "leer los documentos" (gracias Corrl).

Simplemente asegúrese de que su objeto tenga algún tipo de identificador único como campo, digamos id , luego use una clave para cada bloque:

 {#each someObjects as obj (obj.id)} <SomeComponent object={obj} /> {/each}
about 4 years ago · Santiago Trujillo 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