解决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 相关文章推荐
MooBox 基于Mootools的对话框插件
Jan 20 Javascript
如何将一个String和多个String值进行比较思路分析
Apr 22 Javascript
JS逆序遍历实现代码
Dec 02 Javascript
javascript跨域原因以及解决方案分享
Apr 08 Javascript
jQuery三级下拉列表导航菜单代码分享
Apr 15 Javascript
jQuery实现带延迟的二级tab切换下拉列表效果
Sep 01 Javascript
简洁实用的BootStrap jQuery手风琴插件
Aug 31 Javascript
js 定位到某个锚点的方法
Nov 19 Javascript
深入理解JavaScript 中的执行上下文和执行栈
Oct 23 Javascript
详解Vue webapp项目通过HBulider打包原生APP(vue+webpack+HBulider)
Feb 02 Javascript
详解vue几种主动刷新的方法总结
Feb 19 Javascript
Three.js实现雪糕地球的使用示例详解
Jul 07 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
使用adodb lite解决问题
2006/12/31 PHP
PHP 在线翻译函数代码
2009/05/07 PHP
php表单转换textarea换行符的方法
2010/09/10 PHP
PHP实现把MySQL数据库导出为.sql文件实例(仿PHPMyadmin导出功能)
2014/05/10 PHP
php中array_slice和array_splice函数解析
2016/10/18 PHP
thinkPHP5框架实现多数据库连接,跨数据连接查询操作示例
2019/05/29 PHP
javascript removeChild 使用注意事项
2009/04/11 Javascript
jquery 实现的全选和反选
2009/04/15 Javascript
javascript showModalDialog模态对话框使用说明
2009/12/31 Javascript
js去除重复字符串两种实现方法
2013/01/09 Javascript
javascript中[]和{}对象使用介绍
2013/03/20 Javascript
使用jquery hover事件实现表格的隔行换色功能示例
2013/09/03 Javascript
js浏览器本地存储store.js介绍及应用
2014/05/13 Javascript
完美兼容各大浏览器的jQuery插件实现图片切换特效
2014/12/12 Javascript
如何编写高质量JS代码(续)
2015/02/25 Javascript
在JavaScript中使用开平方根的sqrt()方法
2015/06/15 Javascript
JS拖拽插件实现步骤
2015/08/03 Javascript
AngularJS实现动态编译添加到dom中的方法
2016/11/04 Javascript
AngularJS控制器controller给模型数据赋初始值的方法
2017/01/04 Javascript
详解Html a标签中href和onclick用法、区别、优先级别
2017/01/16 Javascript
python使用xlrd实现检索excel中某列含有指定字符串记录的方法
2015/05/09 Python
python实现井字棋游戏
2020/03/30 Python
python开发之list操作实例分析
2016/02/22 Python
Python+Wordpress制作小说站
2017/04/14 Python
Python排序搜索基本算法之堆排序实例详解
2017/12/08 Python
python读取大文件越来越慢的原因与解决
2019/08/08 Python
如何用Python来理一理红楼梦里的那些关系
2019/08/14 Python
python的scipy实现插值的示例代码
2019/11/12 Python
宝塔面板出现“open_basedir restriction in effect. ”的解决方法
2021/03/14 PHP
opencv实现图像几何变换
2021/03/24 Python
竞选大队委员演讲稿
2014/04/28 职场文书
献爱心标语
2014/06/21 职场文书
2014年妇女工作总结
2014/12/06 职场文书
自愿离婚协议书范本
2015/01/26 职场文书
超市店长竞聘书
2015/09/15 职场文书
多属性、多分类MySQL模式设计
2021/04/05 MySQL