我在数据表方面遇到了问题,我用它来显示我从vuejs请求中获得的数据,但在我发出第二个请求后,我似乎无法获得数据并对其进行排序。
我的第一个请求可以像这个一样很好地取回数据
var dates = this.dates;
var when = this.dates.when;
this.$http.get('getProfitsFrom='+when, dates, function(response){
this.response = response;
window.setTimeout(function(){
this.table = $('#table').DataTable({
"aoColumns": [
{ "bSortable": true },
{ "bSortable": true },
{ "bSortable": true },
{ "bSortable": true },
{ "bSortable": true }
]
});
}, 1);
}).error(function(){
console.log("Error");
});
在我从这里获得数据后,表被填充得很好,我可以正确地对它进行排序,但当我提出新请求时,它会破坏表,用数据填充表,但当我们单击排序时,它只显示第一个请求的初始数据。
这让我相信,我需要首先删除数据并销毁表,但我似乎什么都没做。
感谢您的帮助,我们将提供所需的任何进一步信息,谢谢
EDIT:我基本上需要的是知道如何重新初始化表,使其成为一个用我传入的新值填充的新表。
很抱歉,我把它作为回答而不是评论发布,但我的声誉太低了,无法发布评论。
在jsfiddle中,您可以使用伪造的ajax请求来模拟对php后端的调用。
您使用jQuery DataTables的具体原因是什么?有一个非常好的vue组件也能做到这一点(默认为引导程序样式,但您可以根据自己的喜好进行样式设置)https://github.com/matfish2/vue-tables
如果您通过ajax加载数据,请使您的表加载ajax。您需要重新处理json响应的结构。另请参阅此。
从那里,您可以调用table.draw();重新加载。