Vue js和数据表导航不工作

Vue js and Data Table Panigation not Working

本文关键字:工作 导航 数据表 js Vue      更新时间:2023-09-26

好吧,不幸的是我遇到了这个问题。首先说说我的应用的规格。我正在使用

  1. Vue.js
  2. vue-resource.js
  3. jQuery
  4. jQuery的datatable

现在,因为我通过vue-resource抓取数据,由于某种原因,当ajax调用最终完成并将数据导入到表中时,数据表决定不呈现分页,并在一个页面上显示所有200个结果。是否要刷新数据表,以便在被导入到表中后显示分页 ?

我的ajax调用:

       this.$http.get('getDispachedEmails', function(data){
          console.log(data['orders']);
          this.customers.push(data['orders']);
          var dt = $('#myTable').DataTable();
        });


我的表:

<table id="myTable" class="u-full-width">
  <thead>
    <tr>
      <th>Name</th>
      <th>Age</th>
      <th>Sex</th>
      <th>Location</th>
    </tr>
  </thead>
  <tbody>
    <tr v-repeat="customers[0]">
      <td>@{{ firstName }}  @{{ lastName }}</td>
      <td>@{{ email }}</td>
      <td>@{{ trackingNumber }}</td>
      <td>@{{ address }}</td>
    </tr>
  </tbody>
</table>

<罢工>编辑我发现这些函数都不起作用。如果我尝试选择任何一行,表将立即被清理。我的模型(vue模型)里面仍然有所有的对象。

解决方案:

我只是设置了一个等待时间,以便在通过ajax请求收集数据后启动数据表。这地方有点小,但至少管用。如果我找到一个更好的修复我会编辑这篇文章。

this.$http.get('getDispachedEmails', function(data){
  console.log(data['orders']);
  this.customers.push(data['orders']);
  setTimeout(function(){$('#myTable').DataTable();}, 5000);
});

延迟0对我来说是有效的,尽管不确定为什么。

setTimeout(function(){$('#myTable').DataTable();}, 0);

我已经构建了一个专用的vue网格组件:vue-tables。你可以去看看

尝试使用vue 2和vue 3的表https://www.npmjs.com/package/data-table-vue