2016-11-16 44 views
0

我正在使用Meteor,我试图使用此代码显示数据表。DataTable表中没有可用的数据加载

我的JS:

onRendered() { 

    $('#tableCarsWorkflow').DataTable({ 

     paging: true, 
     searching: true, 
     info: false, 
     data: this.CarsList(), 
     ordering: false, 

     columns: 
      [ 
    { data: "declaration.sg_art.numeroarticle", title: "Numéro de l'article" }, 
    { data: "declaration.sg_dec.quittance", title: "Quittance" }, 
    { data: "declaration.sg_art.bl", title: "Référence du BL" }, 
    { data: "declaration.sg_art.regime", title: "Régime douanier déclaré" }, 
    { data: "declaration.sg_art.nomenclature", title: "Nomenclature" }, 
    { data: "declaration.sg_art.description", title: "Description" }, 
    { data: "declaration.sg_art.num_colis", title: "Marque et numéro de châssis" }, 
    { data: "declaration.sg_art.Valeur_en_douane", title: "Valeur en douane" }, 
    { data: "declaration.sg_art.Pays_origine", title: "Pays d'origine" }, 
      ] 
    }); 

    this.bindCarsListCLick(); 

}, 
bindCarsListCLick() { 
    let self = this; 

    $("#tableCarsWorkflow tr").bind("click", function (event) { 
     console.log("click fired...") 
     var dataTable = $(event.target).closest('table').DataTable(); 
     var row = dataTable.row(event.currentTarget); 
     var rowData = row.data(); 

     if (!rowData) return; // Won't be data if a placeholder row is clicked 

     $("#tableCarsWorkflow tr").removeClass('selected'); 
     $(this).addClass('selected'); 
     self.showDetails(true) 

     self.workflowTable(_.where(self.WorkflowList(), { CarId: rowData._id })) 


}); 

HTML:

<template name="carWorkFlow"> 
    <div class="row"> 
     <div class="col-sm-12"> 
      <div class="card-box"> 
       <h4>Liste des véhicules</h4> 
       <table id="tableCarsWorkflow" class="table table-condensed table-bordered fixed-table-body"></table> 
      </div> 
     </div> 
    </div> 
</template> 

但是当我加载页面,第一次我总是得到同样的消息: “无表可用的数据”。

+0

当您渲染模板时,数据可能不存在。您需要使用Tracker计算来传递数据,或者在呈现数据表之前(等待通过订阅获取数据表)来等待获取数据的订阅。 – MasterAM

回答

0

尝试数据:。CarsList()找到()取()

0

你确定你的this.CarsList()的返回信息? 把你onRendered的第一线的执行console.log调试

onRendered() { 
console.log(this.CarsList()); 
... 
} 

祝你好运!

+0

如何同步订阅? – sana

+0

您可以使用模板级订阅方法。 –

+0

看看这个例子: –

相关问题