淺談layui框架自帶分頁(yè)和表格重載的接口解析問(wèn)題
首先要了解框架分頁(yè)自帶的參數(shù)有哪些,特別是注意參數(shù)名稱(chēng)要和后臺(tái)一致!

**需要注意的是layui框架的數(shù)據(jù)解析格式問(wèn)題,data必須是個(gè)數(shù)組對(duì)象的形式才能正常解析否則會(huì)很麻煩(親測(cè)過(guò)非正常解析,手寫(xiě)js手動(dòng)動(dòng)態(tài)添加表格)
data 格式例如:
{
"count": 11,
"code": 0,
"msg": "",
"data": [
{
"id": "1",
"money": 20,
"toptype": "在線(xiàn)",
"operationtype": "充值",
"remittanceid": 1,
"img": "",
"datetime": "2018-08-01 16:01:09",
"accountid": "wyp666",
"statusid": "P05",
"orderid": "2",
"userid": "wdm123456",
"audittime": "2018-07-25 16:02:53",
"tradingid": "",
"message": "已審核",
"ip": ""
}]
}
這時(shí)候注意分頁(yè)后臺(tái)json的參數(shù)名稱(chēng)要與框架保持一致,特別是page(當(dāng)前第幾頁(yè))和 limit(每頁(yè)顯示條數(shù)),這時(shí)可以通過(guò)框架分頁(yè)屬性來(lái)直接設(shè)置當(dāng)前為第幾頁(yè)和每頁(yè)顯示條數(shù)不用通過(guò)data傳遞這兩個(gè)參數(shù)到后臺(tái)了;如果page不傳的話(huà)會(huì)默認(rèn)為第一頁(yè);
例如:
table.render({
elem: '#detail',
url : '后臺(tái)接口',
method:'請(qǐng)求方式',
cellMinWidth : 95,
page: { //支持傳入 laypage 組件的所有參數(shù)(某些參數(shù)除外,如:jump/elem) - 詳見(jiàn)文檔
layout: ['limit', 'count', 'prev', 'page', 'next', 'skip'] //自定義分頁(yè)布局
//,curr: 5 //設(shè)定初始在第 5 頁(yè)
,groups: 1 //只顯示 1 個(gè)連續(xù)頁(yè)碼
,first: false //不顯示首頁(yè)
,last: false //不顯示尾頁(yè)
},
unresize:false, //禁止拖拽td框,默認(rèn)為false可拖拽
limits : [10,15,20,25], //這里設(shè)置可選擇每頁(yè)顯示條數(shù)
limit : 10, //這里設(shè)置的是每頁(yè)顯示多少條
id : "表格ID",
cols : [[..........]]
效果圖如下:

**表格重載(頭部搜索功能):通過(guò)傳入的日期來(lái)搜索請(qǐng)求后臺(tái)查詢(xún)出數(shù)據(jù)
//搜索查詢(xún)
var active = {
reload: function(){
var date_s = $('#date_s').val(); //傳入搜索的日期值
//執(zhí)行重載
table.reload('重載表格id', {
url : '搜索請(qǐng)求接口',
method:'請(qǐng)求類(lèi)型',
page: {
curr: 1 //重新從第 1 頁(yè)開(kāi)始
}
,where: { //類(lèi)似于 data
beginDate:date_s //傳入日期參數(shù)
}
});
}
};
$('#rechar_btn').on('click', function(){
var type = $(this).data('type');
//不能為空驗(yàn)證
if( $('#date_s').val()==""){
layer.msg('查詢(xún)起始日期不能為空');
return false;
}
active[type] ? active[type].call(this) : '';
});
特別要注意的是執(zhí)行表格重載時(shí),點(diǎn)擊的按鈕btn最好不要用button或者input(容易入坑)否則點(diǎn)擊搜索時(shí)頁(yè)面會(huì)刷新,接口會(huì)提交兩次,把 button 換成 div 就會(huì)避免這個(gè)問(wèn)題。
類(lèi)似于:
<button class="layui-btn" data-type="reload" lay-filter="rechar_btn" id="rechar_btn" >搜索</button>
換成 div
<div class="layui-btn" data-type="reload" lay-filter="rechar_btn" id="rechar_btn" >搜索</div>
最后說(shuō)一下:分頁(yè)也支持回調(diào)----看文檔里的-切換分頁(yè)的回調(diào)
laypage.render({
elem: 'test1'
,count: 70 //數(shù)據(jù)總數(shù),從服務(wù)端得到
,jump: function(obj, first){
//obj包含了當(dāng)前分頁(yè)的所有參數(shù),比如:
console.log(obj.curr); //得到當(dāng)前頁(yè),以便向服務(wù)端請(qǐng)求對(duì)應(yīng)頁(yè)的數(shù)據(jù)。
console.log(obj.limit); //得到每頁(yè)顯示的條數(shù)
//首次不執(zhí)行
if(!first){
//do something
}
}
});
都是項(xiàng)目里遇到的一些小問(wèn)題,順手寫(xiě)一筆,如果各位大神不巧看到這里還請(qǐng)大家多多提點(diǎn)意見(jiàn)和建議,大家多多溝通和分享~
以上這篇淺談layui框架自帶分頁(yè)和表格重載的接口解析問(wèn)題就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
- php+layui數(shù)據(jù)表格實(shí)現(xiàn)數(shù)據(jù)分頁(yè)渲染代碼
- thinkphp5+layui實(shí)現(xiàn)的分頁(yè)樣式示例
- layui+jquery支持IE8的表格分頁(yè)方法
- layui 數(shù)據(jù)表格+分頁(yè)+搜索+checkbox+緩存選中項(xiàng)數(shù)據(jù)的方法
- layui table 獲取分頁(yè) limit的方法
- 淺談layui分頁(yè)控件field參數(shù)接收對(duì)象的問(wèn)題
- Layui之table中的radio在切換分頁(yè)時(shí)無(wú)法記住選中狀態(tài)的解決方法
- layui表格分頁(yè) 記錄勾選的實(shí)例
- Layui實(shí)現(xiàn)數(shù)據(jù)表格默認(rèn)全部顯示(不要分頁(yè))
相關(guān)文章
跟我學(xué)習(xí)javascript的prototype使用注意事項(xiàng)
跟我學(xué)習(xí)javascript的prototype使用注意事項(xiàng),介紹了在使用prototype的幾點(diǎn)注意事項(xiàng),需要的朋友可以參考下2015-11-11
Code Review 方法論與實(shí)踐總結(jié)梳理
這篇文章主要為大家介紹了Code Review 方法論與實(shí)踐總結(jié)梳理詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-02-02
如何利用ES6進(jìn)行Promise封裝總結(jié)
這篇文章主要介紹了如何利用ES6進(jìn)行Promise封裝總結(jié),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2019-02-02
關(guān)于js復(fù)制內(nèi)容到瀏覽器剪貼板報(bào)錯(cuò):Cannot read properties of&n
這篇文章主要給大家介紹了關(guān)于js復(fù)制內(nèi)容到瀏覽器剪貼板報(bào)錯(cuò):Cannot read properties of undefined (reading ‘writeText‘)的解決方案,文中給出了詳細(xì)的原因分析和解決方案,需要的朋友可以參考下2024-01-01
JavaScript無(wú)操作后屏保功能的實(shí)現(xiàn)方法
今天組里的同事要寫(xiě)一個(gè)屏保的效果,要求鼠標(biāo)無(wú)操作N秒后進(jìn)入屏幕保護(hù),滑動(dòng)鼠標(biāo)的時(shí)候取消屏幕保護(hù)。我真是難倒了,糾結(jié)了半天,搞定了,下面給大家分享實(shí)現(xiàn)代碼2017-07-07
php is_numberic函數(shù)造成的SQL注入漏洞
這篇文章主要介紹了php is_numberic函數(shù)造成的SQL注入漏洞和解決辦法,需要的朋友可以參考下2014-03-03
在js中使用"with"語(yǔ)句中跨frame的變量引用問(wèn)題
在js中使用"with"語(yǔ)句中跨frame的變量引用問(wèn)題...2007-03-03
淺談js圖片前端預(yù)覽之filereader和window.URL.createObjectURL
下面小編就為大家?guī)?lái)一篇淺談js圖片前端預(yù)覽之filereader和window.URL.createObjectURL。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2016-06-06

