0

我在使用数据表时遇到问题,我用它来显示我从 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");
    });

从这里获取数据后,表格填充得很好,我可以对其进行正确排序,但是当我提出新请求时,它会破坏表格,它会用数据填充表格,但是当我单击排序时,它只显示初始来自第一个请求的数据。

这让我相信我需要首先删除数据并销毁表,但我似乎没有做任何事情。

任何帮助表示赞赏,并将提供所需的任何进一步信息,谢谢

编辑:我基本上需要知道重新初始化表,这样它将是一个新表,其中填充了我传入的新值。

4

2 回答 2

1

如果您通过 ajax 加载数据,请让您的表ajax 加载。您将需要重新设计 json 响应的结构。也看到这个

从那里,您可以调用 table.draw(); 重新加载它。

于 2016-08-04T15:33:28.340 回答
1

抱歉,我将此作为答案而不是评论发布,但我发表评论的声誉很低。

在 jsfiddle 中,您可以使用虚假的 ajax 请求来模拟您对 php 后端的调用。

还有你使用 jQuery DataTables 的特定原因吗?有一个非常不错的 vue 组件,它可以做同样的事情(默认使用引导样式,但您可以根据需要设置样式)https://github.com/matfish2/vue-tables

于 2016-08-04T14:38:09.443 回答