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

120
Vistas
Vue 3: no se pasan los accesorios dinámicos

Componente - Groups.vue

 <MainTable @next="getNextGroup" @prev="getPrevGroup" @start="getGroups" :columns="tableColumns" :data="groupsData" /> </div> </template> <script setup> import MainTable from "../../components/MainTable/index.vue"; import { useGroupsStore } from "../../store/groups"; import { onMounted, reactive, ref } from "vue"; const groupStore = useGroupsStore(); let groupsData = reactive([{}]); let tableColumns = ref([ { label: "Название", prop: "title", }, { label: "Время", prop: "time", }, { label: "Количество мест", prop: "count", }, ]); const getGroups = async () => { const res = await groupStore.getGroups(); console.log("groupsData", groupsData); }; const getNextGroup = async () => { const res = await groupStore.getGroupsNext(); console.log("groupsData", groupsData); }; const getPrevGroup = async () => { const res = await groupStore.getGroupsPrev(); console.log("groupsData", groupsData); }; </script>

Y componente principal: MainTable.vue

 <script setup> import { toRefs, onMounted, watch } from "vue"; const emit = defineEmits(["next", "prev", "start"]); const props = defineProps({ columns: Array, data: Array, }); let { data: tableData } = toRefs(props); onMounted(() => { emit("start"); }); const next = () => { emit("next"); }; const prev = () => { emit("prev"); }; </script>

Obtengo los datos y los escribo en groupsData, pero los datos no se actualizan en MainTable.

Uso torres y todavía aparece una matriz vacía, o simplemente aparece un Proxy.

intenté usar reactivo y ref O necesitas usar computado

¿Por qué los accesorios pueden no cambiar de forma reactiva?

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

0

Creo que el problema es que ha inicializado groupData como un objeto reactivo, pero luego lo está reemplazando con un objeto no reactivo.

Hay un par de maneras de lograr lo que quieres.

  1. Use un objeto reactivo y modifique una de sus propiedades en lugar de reemplazar todo el objeto:
 const data = reactive({ groups: [] }); data.groups = await groups store.getGroups();
  1. Use ref en lugar de reactive
 const groupsData = ref([]); groupsData.value = await groupStore.getGroups();

Tenga en cuenta que una ref es un objeto Proxy . Puede hacer referencia a groupData directamente en la plantilla, pero para obtener o establecer su valor en el script, debe usar groupData.value como se indicó anteriormente.

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