Vue JS无法正确显示数据表(v-for)

时间:2020-11-09 18:49:03

标签: firebase vue.js components vuetify.js

我试图显示来自Firebase Firestore的数据表,我已经设法将所有数据放入一个数组中,但是当我尝试显示该内容时,整个数组而不是显示单个项目,请参见图片:

Names Table

这是我的代码:

 <template>
  <v-simple-table>
    <template v-slot:default>
      <thead>
        <tr>
          <th class="text-left">
            Name
          </th>
          <th class="text-left">
            Calories
          </th>
        </tr>
      </thead>
      <tbody>
        <tr
           v-for="(item, index) in result"
          v-bind:key="index"
          
        >
          <td>{{ result }}</td>
          
        </tr>
      </tbody>
    </template>
  </v-simple-table>
</template>
<script>
import firebase from 'firebase' 
import {db} from '../service/firebase'
  export default {
    data () {         
      return {
        userName: null,
        result: [],
        name: null,
        email: null,       
        userMail: null,
        telefone: null,
        userPhone: null,        
        userAccept: null,
      }
    },    
     async created() {    
      var userData = []
      await db.collection("users").get().then((querySnapshot) => {
      querySnapshot.forEach((doc) => {
          console.log(`${doc.id} => ${doc.data()}`);
          userData.push(doc.data())          
    });    
});   
      this.result = userData.map(a => a.name)      
       console.log(result)          
    }    
  }      
    
</script>

如何显示数组的单个项目表而不是数组的表? 预先谢谢你!

1 个答案:

答案 0 :(得分:1)

您正在使用{{result}}打印全部内容,正确的语法如下:

<tr  v-for="(item, index) in result" v-bind:key="index" >
  <td v-for="(record,i) in item" :key="i">{{ record }}</td>
</tr>