解决layui的table插件无法多层级获取json数据的问题


Posted in Javascript onSeptember 19, 2019

对于layui的table插件无法多层级获取json数据的解决方法,版本:2.2.6

根据官方文档 你接口返回的数据格式,遵循 response 对应的字段名称。

默认的格式为如下:

{ 
code: 0,//数据状态的字段名称,默认:code 
msg: “”, //状态信息的字段名称,默认:msg 
count: 1000,//数据总数的字段名称,默认:count 
data: []//数据列表的字段名称,默认:data 
}

那么当后台返回的数据为如下格式时:就无法直接获取到“list”和“total”了

{“status”:0, 
“msg”:”超级管理员查询成功”, 
“data”:{ 
“pageNum”:1, 
“pageSize”:10, 
“size”:2, 
“total”:2, 
“list”:[ 
{“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. 最直接的方法是叫后台人员直接改为官方文档的方式

2. 先通过ajax获取到数据,然后通过data属性进行赋值,当涉及到分页时,代码会比较冗余;

3.通过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请求成功函数success里添加以下代码:

typeof renderResponse === 'function' && (t = renderResponse(t));

使用时:在response属性中用.来分割层级,代码如下:

response: {
  statusName: 'status' //数据状态的字段名称,默认:code
  ,statusCode: 0 //成功的状态码,默认:0
  ,msgName: 'msg' //状态信息的字段名称,默认:msg
  ,countName: 'data.total' //数据总数的字段名称,默认:count
  ,dataName: 'data.list' //数据列表的字段名称,默认:data
}

以上这篇解决layui的table插件无法多层级获取json数据的问题就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
初窥JQuery-Jquery简介 入门了解篇
Nov 25 Javascript
Js获取数组最大和最小值示例代码
Oct 29 Javascript
Javascript delete 引用类型对象
Nov 01 Javascript
JavaScript学习总结之JS、AJAX应用
Jan 29 Javascript
jquery插件jquery.LightBox.js实现点击放大图片并左右点击切换效果(附demo源码下载)
Feb 25 Javascript
DOM操作和jQuery实现选项移动操作的简单实例
Jun 07 Javascript
AngularJS教程 ng-style 指令简单示例
Aug 03 Javascript
angularjs点击图片放大实现上传图片预览
Feb 24 Javascript
JavaScript实现简单音乐播放器
Apr 17 Javascript
微信小程序—setTimeOut定时器的问题及解决
Jul 26 Javascript
Vue通过WebSocket建立长连接的实现代码
Nov 05 Javascript
Vue项目中数据的深度监听或对象属性的监听实例
Jul 17 Javascript
Layui数据表格 前后端json数据接收的方法
Sep 19 #Javascript
用原生JS实现爱奇艺首页导航栏代码实例
Sep 19 #Javascript
vue简单练习 桌面时钟的实现代码实例
Sep 19 #Javascript
JS实现滚动条触底加载更多
Sep 19 #Javascript
Vue v-text指令简单使用方法示例
Sep 19 #Javascript
Vue.set 全局操作简单示例
Sep 19 #Javascript
layui对工具条进行选择性的显示方法
Sep 19 #Javascript
You might like
浅析php中抽象类和接口的概念以及区别
2013/06/27 PHP
PHP实现将标点符号正则替换为空格的方法
2017/08/09 PHP
如何实现浏览器上的右键菜单
2006/07/10 Javascript
网页打开自动最大化的js代码
2012/08/22 Javascript
JS字符串拼接在ie中都报错的解决方法
2014/03/27 Javascript
jQuery 重复加载错误以及修复方法
2014/12/16 Javascript
JQuery判断checkbox是否选中及其它复选框操作方法合集
2015/06/01 Javascript
jQuery获取页面及个元素高度、宽度的总结——超实用
2015/07/28 Javascript
jquery实现标题字体变换的滑动门菜单效果
2015/09/07 Javascript
javascript实现在网页中运行本地程序的方法
2016/02/03 Javascript
[原创]Bootstrap 中下拉菜单修改成鼠标悬停直接显示
2016/04/14 Javascript
jQuery遍历json的方法分析
2016/04/16 Javascript
使用JavaScript为一张图片设置备选路径的方法
2017/01/04 Javascript
微信小程序 登陆流程详细介绍
2017/01/17 Javascript
浅谈原生JS中的延迟脚本和异步脚本
2017/07/12 Javascript
在vscode中统一vue编码风格的方法
2018/02/22 Javascript
element-ui 时间选择器限制范围的实现(随动)
2019/01/09 Javascript
JS中的算法与数据结构之链表(Linked-list)实例详解
2019/08/20 Javascript
Vue中key的作用示例代码详解
2020/06/10 Javascript
jQuery实现动态向上滚动
2020/12/21 jQuery
原生js实现无缝轮播图效果
2021/01/28 Javascript
python实现数通设备tftp备份配置文件示例
2014/04/02 Python
python实现简单聊天应用 python群聊和点对点均实现
2017/09/14 Python
Python实现的拉格朗日插值法示例
2019/01/08 Python
简单易懂Pytorch实战实例VGG深度网络
2019/08/27 Python
python如何实时获取tcpdump输出
2020/09/16 Python
纯HTML5+CSS3制作生日蛋糕代码
2016/11/16 HTML / CSS
美国男女折扣服饰百货连锁店:Stein Mart
2017/05/02 全球购物
英国家居用品和家居装饰品购物网站:Cox & Cox
2019/08/25 全球购物
计算机专业职业生涯规划范文
2014/01/19 职场文书
2014两会学习心得:榜样精神伴我行
2014/03/17 职场文书
《狼和小羊》教学反思
2014/04/20 职场文书
专题组织生活会方案
2014/06/15 职场文书
毕业生见习报告总结
2014/11/08 职场文书
解决pycharm下载库时出现Failed to install package的问题
2021/09/04 Python
Android超详细讲解组件ScrollView的使用
2022/03/31 Java/Android