Chyba s Dálkovým Stránkování v Tabulátor 5.0

0

Otázka

Můj tabulátor 5.0 tabulka funguje. Ale když jsem se pokusil pomocí dálkového stránkování nefunguje vůbec.

var table = new Tabulator("#account-tran-detail-table", {
    pagination:true,
    paginationMode:"remote", //if this line is commented out then it works fine without pagination
    paginationSize: 12,
    dataSendParams:{
        page: "page",
        size: "page_size",
    },
    dataReceiveParams:{
        last_page:"total_pages",
    } ,
    ajaxResponse:function(url, params, response){
        return response.results; // return the array of table items
    },
});

table.on("tableBuilt", function(){
    table.setColumns(columns);
});

function generateReport () {
    table.clearData();
    var columns = [
            {title:"id", field:"id", headerFilter:false, visible:false, download:true},
            {title:"name", field:"name", headerFilter:false, visible:false, download:true},
        ];

    var gender = "m";
    var url = "/api/v1/myendpointname/";
    var append_params = "?gender=" + gender;

    $("#tableBuilt").destroy;
    table.setData(url + append_params);
};

Odpověď vypadá takto:

{
    "count": 10,
    "total_pages": 3,
    "next": "http://localhost:8000/myendpointname/?gender=m&page=2&size=3
    "previous": null,
    "results": [
        {
            "id": 1,
            "gender": "m",
            "name": "abc",
        },
        {
            "id": 2,
            "gender": "m",
            "name": "def",
        },
        {
            "id": 3,
            "gender": "m",
            "name": "ghi",
        },
    ]
}

Můžete vidět, kde se ptám tabulátor číst "total_pages" namísto default "last_page" pomocí "dataReceiveParams". A můžete také vidět, kde se ptám tabulátor poslat "page_size" namísto default "velikost" pomocí "dataSendParams" generovat žádost.

Mám dvě varování . . .

Remote Pagination Error - Server response missing 'undefined' property Page.js:707:11
Remote Pagination Error - Server response missing 'undefined' property Page.js:754:11

Následuje chyba.

Data Loading Error - Unable to process data due to invalid data type 
Expecting: array 
Received: undefined
Data: undefined

Kód odkazuje varování:

707: console.warn("Remote Pagination Error - Server response missing '" + this.dataReceivedNames.last_page + "' property");
754: console.warn("Remote Pagination Error - Server response missing '" + this.dataReceivedNames.data + "' property");

Tak se mi zdá, že tabulátor není "vidět" "total_pages" část odpovědi. Proč je to ne pomocí "defaultReceiveParams"? Mohlo by to být kvůli mé ajaxResponse funkce vrátí odpověď.výsledky a proužky zbytek odpovědí pryč?

(Stejné chování pro Chrome a Firefox)

ajax javascript pagination tabulator
2021-11-24 06:02:21
1

Nejlepší odpověď

1

Použití ajaxResponse vrátit data a last_page jako

Codesandbox

2021-11-30 06:23:10

Děkuji. Přišel jsem věřit, že tam je chyba v Tab. Vaše řešení mi pomohl k pohybu vpřed.
Jonathan

V jiných jazycích

Tato stránka je v jiných jazycích

Русский
..................................................................................................................
Italiano
..................................................................................................................
Polski
..................................................................................................................
Română
..................................................................................................................
한국어
..................................................................................................................
हिन्दी
..................................................................................................................
Français
..................................................................................................................
Türk
..................................................................................................................
Português
..................................................................................................................
ไทย
..................................................................................................................
中文
..................................................................................................................
Español
..................................................................................................................
Slovenský
..................................................................................................................