$("#queryTab").bootstrapTable("destroy").bootstrapTable({
height: TABLE_HEIGHT,
method: 'POST',
search: true,//是否設置搜索框
pagination: true,//是否設置分頁
sidePagination: 'server',//服務端分頁的條件
pageSize: 20,//每頁條數
pageNumber: 1,//當前頁
pageList: 'ALL',//如果設置了分頁,選擇頁面的數據條數[5, 10, 15, 20],ALL爲顯示全部
// paginationLoop: false,//是否設置翻頁循環,默認循環
contentType: "application/json; charset=UTF-8",
dataType: "json",
url: info.url,
/**傳遞給後臺的查詢信息
* bootstrapTable默認行爲會把查詢參數轉爲表單數據,故需要stringify()轉換一次
* @param params 效果等同於this
* @returns {*} 查詢參數,包含當前頁和查詢關鍵字
*/
queryParams: function (params) {
return JSON.stringify({
//計算當前頁(offset:如第21到40條,20即爲offset,limit爲每頁數據條數)
pageNum: (params.offset / params.limit) + 1,
product_name: info.data.product_name
});
},
/**查詢後返回的數據在加載前的處理
*
* @param result 查詢後服務器返回的結果
* @returns {{total: int, rows: Array}} 返回數據爲包含total和rows的2個屬性
*/
responseHandler: function (result) {
if (result.head && result.head.actionCode) {
var data = result.body;
return {
total: data.allPages * this.pageSize, //總共的條目數量
rows: data.processArray //當前頁需要顯示的數據
};
} else {
return {
total: 0,
rows: []
}
}
},
onLoadSuccess: function () {
},
onLoadError: function () {
console.log('error')
},
formatShowingRows: function (pageFrom, pageTo, totalRows) {
return '第 ' + pageFrom + ' 條到 ' + pageTo + '條 ,共 ' + totalRows + ' 條'
},
columns: columns
});
bootstrapTable後端分頁
bootstrapTable由於後端分頁文檔並不夠詳細,自己折騰老好一會才做出實例出來,現記錄下來。
略過簡單部分,只說在配置項裏面的必須部分。
responseHandler爲得到服務端傳遞的數據,之後要給boostrapTable進行數據加載,要包含2個屬性total,rows,實際使用參見以上實例
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.