可以先利用layui table中的parseData方法手動將數據切片分頁,代碼如下,要點是parseData: function(res){}中的方法,對從url中get到的數據進行手動分頁處理。
table.reload ('jurisdiction', { method: 'get', url: '{SITE_URL}man.php?c=Home_basic_appmanage&m=auth_manage_edit' ,page: { curr: 1 } //重新從第 1 頁開始 ,limit: '10' ,parseData: function (res) { /*console.log('默認刷新頁'); console.log(res);*/ let result; let table_data = []; if (res.data.list) { for (let i = 0; i < res.data.list.length; i++) { table_data.push({ "id":res.data.list[i].id, "dirname":res.data.list[i].dirname, "name":res.data.list[i].name, "read":res.data.list[i].read, "write":res.data.list[i].write }); } }; if (this.page.curr) { result = table_data.slice(this.limit * (this.page.curr - 1), this.limit * this.page.curr); } else { result = table_data.slice(0, this.limit); }; return { "code": 0, "msg": '', //解析提示文本 "count": res.data.total, //解析數據長度 "data": result //解析數據列表 }; } ,where: { search: demoReload.val(), id: {$id} } });
我這里的獲取數據的格式不同:res.data.list打印出來后就是獲取到的數據數組。這里有個位置是一定要寫的;那就是page里面的參數curr。
如果你獲取不到page.curr參數改成
page: { //支持傳入 laypage 組件的所有參數(某些參數除外,如:jump/elem) - 詳見文檔 layout: ['limit', 'count', 'prev', 'page', 'next', 'skip'] //自定義分頁布局 ,curr: 1 //設定初始在第 1 頁 ,groups: 1 //只顯示 1 個連續頁碼 ,first: false //不顯示首頁 ,last: false //不顯示尾頁 }
分頁可以由前端寫(手動切割),也可以后端分段傳數據過來;我是想用前端來解決這個問題。現在問題解決好了~~~
參考這個網址;https://blog.csdn.net/qq_35077107/article/details/101168088
但是我再使用的過程中一直無法獲取到this.page.curr這個參數,后來才知道是要自己寫入具體的參數