0

API を呼び出して、データを配列 ( users[] ) に格納しています。コンソールで users[] が入力されていることを確認できますが、data-table行は表示されません。

<template>
<v-data-table
 :headers="headers"
 :items="users"
 class="elevation-1"
 :dark="true"
>

<template v-slot:item.deaths="{ item }">
  <v-chip :color="getColor(item.deaths)" dark>{{ item.deaths }}</v-chip>
</template>

<script>
 export default {

  data () {
   return {

   indiaTotalCase: null,
   indianDeaths: null,
   indianDischarged: null,

   headers: [
      { text: 'State', align: 'start', sortable: false, value: 'loc'},
      { text: 'Cases', value: 'totalConfirmed' },
      { text: 'Deaths', value: 'deaths' },
      { text: 'Discharged', value: 'discharged' } 
   ],
   users: [],
   }
  },

  mounted(){
     this.getdata();
     console.log("call finished");
  },

  methods: {
     getColor (deaths) {
      if (deaths > 100) return 'red'
      else if (deaths > 50) return 'orange'
      else return 'green'
     },

     getdata() {
        this.$http.get('https://api.rootnet.in/covid19-in/stats/latest')
          .then(response =>{
           return response.json();
           })

           .then(res =>{
             const data = res.data;
             this.indiaTotalCase = data.summary.total;
             this.indianDeaths = data.summary.deaths;
             this.indianDischarged = data.summary.discharged;
             const regionalData = data.regional;

           for(let index in regionalData){
             this.users[index] = regionalData[index];
           }

         });
        }
       },

</script>

私は vue を初めて使用し、コードのフォーマットが不適切で申し訳ありません。これは私が得ている出力です。画像

4

1 に答える 1

0

以下のように getdata メソッドを変更してください。

      getdata() {
  this.$http.get('https://api.rootnet.in/covid19-in/stats/latest')
  //  .then(response =>{
  //    return response.json();
  //  })
    .then(res =>{
       console.log('api res ',res)
      const data = res.body.data;
      this.indiaTotalCase = data.summary.total;
      this.indianDeaths = data.summary.deaths;
      this.indianDischarged = data.summary.discharged;
      const regionalData = data.regional;
      //  for(let index in regionalData){
      //    this.users[index] = regionalData[index];
      // }
      this.users = regionalData;
    });
于 2020-06-07T04:08:12.010 に答える