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

272
Vistas
Crear N tablas (componentes) dadas N matrices en Vue.js

Tal como está mi código en este momento, hay N matrices en mis datos. Cada matriz contiene la información de M estudiantes. El objetivo es crear N tablas usando (vue-draggable), y dentro de cada una, M estudiantes arrastrables, para que todos se puedan mover, mientras se actualiza cada matriz. (n en 2 es solo un relleno, usará n en listNumber más adelante)

 <template> <div class="row"> <div class="col-3" v-for="n in 2" :key="n"> <h3>Draggable {{n}}</h3> <draggable class="list-group" :list="list1" group="people" @change="log"> <div class="list-group-item" v-for="(element, index) in list1" :key="element.name" > {{ element.name }} {{ index }} </div> </draggable> </div> </div> </template> <script> import draggable from "vuedraggable"; let id = 1; export default { name: "two-lists", display: "Two Lists", order: 1, components: { draggable, list1:[], }, data() { return { list1: [ { name: "John", id: 1 }, { name: "Joao", id: 2 }, { name: "Jean", id: 3 }, { name: "Gerard", id: 4 } ], list2: [ { name: "Juan", id: 5 }, { name: "Edgard", id: 6 }, { name: "Johnson", id: 7 } ], listNumber:3, }; }, methods: { add: function() { this.list.push({ name: "Juan" }); }, replace: function() { this.list = [{ name: "Edgard" }]; }, clone: function(el) { return { name: el.name + " cloned" }; }, } }; </script>

Tal como está ahora, mi código devuelve 2 tablas, Arrastrable 1, Arrastrable 2, sin embargo, el contenido de cada uno solo se extrae de la lista1. ¿Existe de todos modos que Draggable 1 tenga los elementos de list1 y Draggable 2 tenga los elementos de list2?

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

0

Probablemente el enfoque más sencillo sea refactorizar los datos como un objeto, siendo el nombre de la clave la variable que desea, es decir:

 people: { 1: [ { name: "John", id: 1 }, { name: "Joao", id: 2 }, { name: "Jean", id: 3 }, { name: "Gerard", id: 4 } ], 2: [ { name: "Juan", id: 5 }, { name: "Edgard", id: 6 }, { name: "Johnson", id: 7 } ], }

Luego, en su plantilla puede hacer referencia a la propiedad del objeto:

 <div class="col-3" v-for="n in 2" :key="n"> <h3>Draggable {{n}}</h3> <draggable class="list-group" :list="people[n]" group="people" @change="log"> <div class="list-group-item" v-for="(element, index) in people[n]" :key="element.name" > {{ element.name }} {{ index }} </div> </draggable> </div> </div>
over 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