Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

214
Views
no se puede representar el elemento en la pantalla por v-for

Obtuve datos de una base de datos, los almacené en una matriz, pero no pude procesarlos con V-For, ni recibí ningún error o advertencia. Tengo los siguientes datos en mi base de datos:

ingrese la descripción de la imagen aquí

y aquí está mi código:

 <template> <div v-for="item in userList" :key="item.uid"> <p>{{item.fullName}}</p> </div> </template> <script> import { db } from "src/boot/firebase"; import { collection, query, where, getDocs } from "firebase/firestore"; export default { setup() { return { userList: [] }; }, async created() { const q = query( collection(db, "userProfile"), where("verified", "==", true) ); const querySnapshot = await getDocs(q); let arr = []; querySnapshot.forEach(doc => { // doc.data() is never undefined for query doc snapshots let docData = doc.data(); this.userList.unshift(docData); }); console.log(this.userList) } }; </script>
about 4 years ago · Juan Pablo Isaza
3 answers
Answer question

0

Oh, creo que su problema es que no hizo que la lista de usuarios sea reactiva ( Vue Docs ). Prueba esto:

 setup() { return { userList: ref([]) }; },

y asegúrese de importar ref:

 import { ref } from 'vue';

Cuando usa referencias, maneja el valor que contienen, en lugar de la referencia directamente, por lo que en cualquier lugar que esté usando this.userList , ahora debe usar this.userList.value (excepto en la plantilla: las plantillas saben cómo tratar con referencias) .

about 4 years ago · Juan Pablo Isaza Report

0

Si está utilizando la API de composición, coloque todo en la función de configuración, no hay unenlace creado aquí, por lo que puede hacer la función:

 setup() { const userList = ref([]); const created = async () => { const q = query( collection(db, "userProfile"), where("verified", "==", true) ); const querySnapshot = await getDocs(q); let arr = []; querySnapshot.forEach(doc => { let docData = doc.data(); userList.value.unshift(docData); }); }; created(); return { userList }; },
about 4 years ago · Juan Pablo Isaza Report

0

Creo que su problema podría ser que las plantillas necesitan un solo nodo raíz, y su v-for hace que haya múltiples raíces en la plantilla. Intente envolverlo en un <div> .

about 4 years ago · Juan Pablo Isaza Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!