Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

122
Visualizações
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 Respostas
Responde à pergunta

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 Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda