解決layui的table插件無(wú)法多層級(jí)獲取json數(shù)據(jù)的問(wèn)題
對(duì)于layui的table插件無(wú)法多層級(jí)獲取json數(shù)據(jù)的解決方法,版本:2.2.6
根據(jù)官方文檔 你接口返回的數(shù)據(jù)格式,遵循 response 對(duì)應(yīng)的字段名稱。
默認(rèn)的格式為如下:
{ code: 0,//數(shù)據(jù)狀態(tài)的字段名稱,默認(rèn):code msg: “”, //狀態(tài)信息的字段名稱,默認(rèn):msg count: 1000,//數(shù)據(jù)總數(shù)的字段名稱,默認(rèn):count data: []//數(shù)據(jù)列表的字段名稱,默認(rèn):data }
那么當(dāng)后臺(tái)返回的數(shù)據(jù)為如下格式時(shí):就無(wú)法直接獲取到“l(fā)ist”和“total”了
{“status”:0, “msg”:”超級(jí)管理員查詢成功”, “data”:{ “pageNum”:1, “pageSize”:10, “size”:2, “total”:2, “l(fā)ist”:[ {“phone”:”13713596448”,”username”:”旺”,”passwd”:”1”,”usegrant”:”0”,”leader”:”“,”chancecount”:”1000”,”createtime”:1528369281000,”updatetime”:1528369285000,”usecount”:”0”}, {“phone”:”18038060732”,”username”:”彬”,”passwd”:”1”,”usegrant”:”0”,”leader”:”“,”chancecount”:”100”,”createtime”:1528422270000,”updatetime”:1528422270000,”usecount”:”0”} ]
解決方案:
1. 最直接的方法是叫后臺(tái)人員直接改為官方文檔的方式
2. 先通過(guò)ajax獲取到數(shù)據(jù),然后通過(guò)data屬性進(jìn)行賦值,當(dāng)涉及到分頁(yè)時(shí),代碼會(huì)比較冗余;
3.通過(guò)url屬性賦值,則在table源文件中 M.prototype.page方法下添加以下代碼:
var multilevel=function (data,list) { var d = data; for (var i in list){ d =d[list[i]]; } return d }; var renderResponse=function (data) { var statusNameLsit=r.statusName.split("."), msgNameLsit=r.msgName.split("."), countNameLsit=r.countName.split("."), dataNameLsit=r.dataName.split("."); var dataTemp={}; dataTemp[r.statusName]=multilevel(data,statusNameLsit); dataTemp[r.msgName]=multilevel(data,msgNameLsit); dataTemp[r.countName]=multilevel(data,countNameLsit); dataTemp[r.dataName]=multilevel(data,dataNameLsit); return dataTemp; };
在M.prototype.page中ajax請(qǐng)求成功函數(shù)success里添加以下代碼:
typeof renderResponse === 'function' && (t = renderResponse(t));
使用時(shí):在response屬性中用.來(lái)分割層級(jí),代碼如下:
response: { statusName: 'status' //數(shù)據(jù)狀態(tài)的字段名稱,默認(rèn):code ,statusCode: 0 //成功的狀態(tài)碼,默認(rèn):0 ,msgName: 'msg' //狀態(tài)信息的字段名稱,默認(rèn):msg ,countName: 'data.total' //數(shù)據(jù)總數(shù)的字段名稱,默認(rèn):count ,dataName: 'data.list' //數(shù)據(jù)列表的字段名稱,默認(rèn):data }
以上這篇解決layui的table插件無(wú)法多層級(jí)獲取json數(shù)據(jù)的問(wèn)題就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
- 解決layui table表單提示數(shù)據(jù)接口請(qǐng)求異常的問(wèn)題
- layui異步加載table表中某一列數(shù)據(jù)的例子
- layui-table表復(fù)選框勾選的所有行數(shù)據(jù)獲取的例子
- layui 對(duì)table中的數(shù)據(jù)進(jìn)行轉(zhuǎn)義的實(shí)例
- layui-table對(duì)返回的數(shù)據(jù)進(jìn)行轉(zhuǎn)變顯示的實(shí)例
- layui table數(shù)據(jù)修改的回顯方法
- 解決layui數(shù)據(jù)表格table的橫向滾動(dòng)條顯示問(wèn)題
- layui實(shí)現(xiàn)數(shù)據(jù)表格table分頁(yè)功能(ajax異步)
- 解決layui中table異步數(shù)據(jù)請(qǐng)求不支持自定義返回?cái)?shù)據(jù)格式的問(wèn)題
- layui-table獲得當(dāng)前行的上/下一行數(shù)據(jù)的例子
相關(guān)文章
Javascript 數(shù)組添加一個(gè) indexOf 方法的實(shí)現(xiàn)代碼
Javascript 的字符串有個(gè) indexOf 的方法,能夠返回字符在指定的字符串中的位置,非常有用,本文介紹了如何給 Javascript 數(shù)組也添加一個(gè)類似的方法。2009-09-09[js高手之路]從原型鏈開始圖解繼承到組合繼承的產(chǎn)生詳解
下面小編就為大家?guī)?lái)一篇[js高手之路]從原型鏈開始圖解繼承到組合繼承的產(chǎn)生詳解。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2017-08-08靜態(tài)頁(yè)面實(shí)現(xiàn) include 引入公用代碼的示例
下面小編就為大家?guī)?lái)一篇靜態(tài)頁(yè)面實(shí)現(xiàn) include 引入公用代碼的示例。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2017-09-09微信小程序云開發(fā)實(shí)現(xiàn)云數(shù)據(jù)庫(kù)讀寫權(quán)限
這篇文章主要為大家詳細(xì)介紹了微信小程序云開發(fā)實(shí)現(xiàn)云數(shù)據(jù)庫(kù)讀寫權(quán)限,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2019-05-05JavaScript mixin實(shí)現(xiàn)多繼承的方法詳解
這篇文章主要介紹了JavaScript mixin實(shí)現(xiàn)多繼承的方法,結(jié)合實(shí)例形式分析了mixin多繼承的原理與具體實(shí)現(xiàn)技巧,需要的朋友可以參考下2017-03-03