vue-good-table выберите определенную строку из ваших данных для отображения - PullRequest
0 голосов
/ 21 мая 2018

Итак, я использую vue-good-table: https://github.com/xaksis/vue-good-table, и я хочу создать несколько таблиц, когда получу данные от вызова ajax.Вызов осуществляется через API Facebook и занимает примерно 20 секунд, чтобы данные были возвращены и помещены в массив tableModel.Я делаю оператор v-for для создания сворачиваемых блоков и хочу, чтобы в каждом сворачиваемом элементе отображались только данные, относящиеся к этой конкретной кампании.Вот мой цикл for:

        <div v-for="(campaigns, index) in allCampaigns">
        <collapse :multiple-active="false">
            <collapse-item :title="campaigns.campaign_name">
            <div>
                <vue-good-table
                :columns="columns"
                :rows="tableData[index]"
                styleClass="vgt-table striped bordered"/>
            </div>
            </collapse-item>
        </collapse>
    </div>

Я надеялся показать только tableData, относящиеся к индексу созданного компонента свертывания.Я надеялся, что при обновлении tableData (возвращенные данные помещаются в массив), таблица автоматически обновит таблицу.Я получаю следующую ошибку в консоли: [Vue warn]: Ошибка в обратном вызове для наблюдателя "rows": "TypeError: Невозможно создать свойство 'vgt_id' в строке TypeError: Невозможно создать свойство 'vgt_id' в строке Вот как я нажимаюданные в tableModel:

      fillTableData(campaigns)  {
    //   console.log(campaigns);
      for(let i = 0; i < campaigns.length; i++) {
          this.grabClientFacebook(campaigns[i], i);
      }
  },
  grabClientFacebook(campaign, id) {
    //   console.log(campaign);
      this.axios.post("/auth/client/facebookcall",
            {'campaign': campaign.id, 'datepreset': this.datepreset}).then((response) => {
                console.log(response.data);
                let fbcampaign = response.data;
                console.log(fbcampaign);
                this.tableData.push({'index': id,
                                     'campaignname': fbcampaign[9],
                                     'results': fbcampaign[0], 
                                     'reach': fbcampaign[1], 
                                     'impressions': fbcampaign[2], 
                                     'cpl': fbcampaign[3], 
                                     'spent': fbcampaign[4], 
                                     'ctr': fbcampaign[5], 
                                     'cpc': fbcampaign[6], 
                                     'clicks': fbcampaign[7]});
                console.log('---------------------');
                console.log(this.tableData);
            }).catch(error => {console.log(error);
        });
  }

tableData делится как tableData: []

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...