BootStrap Table 和EasyUi table後臺分頁時前臺刪除最後一頁全部數據refresh刷新後無數據問題處理方法

問題

在實現表格列表時,刪除最後一頁形成最後一頁無數據問題;bootstrap

緣由

主要是頁碼超出範圍請求數據爲空bash

BootStrap Table 解決方案:

經過修改bootstrap-table.js的initServer方法中的查詢success回調函數解決,將該回調函數改成:函數

function (res) { 
    res = calculateObjectValue(that.options, that.options.responseHandler, [res], res); 
        /**處理頁碼錯誤問題開始 爲避免有不分頁的數據判斷total*/
         if(res.total!=undefined&&res.total!=0&&res.data.length==0){//總記錄數大於0,但當前頁記錄數爲0,則此時頁碼超過了最大頁碼誤
            that.options.pageNo = Math.ceil(res.total/that.options.pageSize);//最後一頁(總頁數)
            that.initServer();
          return;
        }
    /**處理頁碼錯誤問題結束*/
    that.load(res); 
    that.trigger('load-success', res); 
   }
複製代碼

即當總記錄數不爲0而當前頁的記錄數爲0時將頁碼設爲最後一頁從新請求數據:ui

if(res.total!=undefined&&res.total!=0&&res.data.length==0){//總記錄數大於0,但當前頁記錄數爲0,則此時頁碼超過了最大頁碼誤
    that.options.pageNo = Math.ceil(res.total/that.options.pageSize);//最後一頁(總頁數)
    that.initServer();
  return;
}
複製代碼

EasyUi table 解決方案:

在onLoadSuccess中判斷這裏個人入參是pageNo和pageSize 
if(datas.total!=undefined&&datas.total!=0&&datas.rows.length==0){//總記錄數大於0,但當前頁記錄數爲0,則此時頁碼超過了最大頁碼誤
         that.pageNo = Math.ceil(datas.total/that.pageSize);//最後一頁(總頁數)
          $(this).datagrid("reload");
         return;
         }
複製代碼
相關文章
相關標籤/搜索