解决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的幻灯片图片切换效果代码分享
Sep 07 Javascript
jQuery实现简易的天天爱消除小游戏
Oct 16 Javascript
基于jquery编写分页插件
Mar 07 Javascript
jQuery根据name属性进行查找的用法分析
Jun 23 Javascript
几种二级联动案例(jQuery\Array\Ajax php)
Aug 13 Javascript
Angular表单验证实例详解
Oct 20 Javascript
js使用Replace结合正则替换重复出现的字符串功能示例
Dec 27 Javascript
touch.js 拖动、缩放、旋转 (鼠标手势)功能代码
Feb 04 Javascript
JS字符串按逗号和回车分隔的方法
Apr 25 Javascript
JS监控关闭浏览器操作的实例详解
Sep 12 Javascript
element-ui 的el-button组件中添加自定义颜色和图标的实现方法
Oct 26 Javascript
实例分析javascript中的异步
Jun 02 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利用pdo_odbc实现连接数据库示例【基于ThinkPHP5.1搭建的项目】
2019/05/13 PHP
Windows平台PHP+IECapt实现网页批量截图并创建缩略图功能详解
2019/08/02 PHP
phpwind放自动注册方法
2006/12/02 Javascript
JavaScript 常用函数库详解
2009/10/21 Javascript
在javascript中实现函数数组的方法
2013/12/25 Javascript
Egret引擎开发指南之编译项目
2014/09/03 Javascript
javascript字符串函数汇总
2015/12/06 Javascript
javascript数组克隆简单实现方法
2015/12/16 Javascript
JavaScript实现ASC转汉字及汉字转ASC的方法
2016/01/23 Javascript
详解为Bootstrap Modal添加拖拽的方法
2018/01/05 Javascript
解析Vue.js中的组件
2018/02/02 Javascript
Node对CommonJS的模块规范
2019/11/06 Javascript
js对象简介与基本用法示例
2020/03/13 Javascript
解决node终端下运行js文件不支持ES6语法
2020/04/04 Javascript
JS 图片压缩原理与实现方法详解
2020/04/29 Javascript
vue自动添加浏览器兼容前后缀操作
2020/08/13 Javascript
如何搭建一个完整的Vue3.0+ts的项目步骤
2020/10/18 Javascript
Python时区设置方法与pytz查询时区教程
2013/11/27 Python
python利用requests库进行接口测试的方法详解
2018/07/06 Python
浅析Python四种数据类型
2018/09/26 Python
Python3实现的旋转矩阵图像算法示例
2019/04/03 Python
pandas-resample按时间聚合实例
2019/12/27 Python
python实现logistic分类算法代码
2020/02/28 Python
CSS3 实现弹跳的小球动画
2020/10/26 HTML / CSS
BCBG官网:BCBGMAXAZRIA
2017/12/29 全球购物
美国女士时尚珠宝及配饰购物网站:Icing
2018/07/02 全球购物
.net工程师笔试题
2012/06/09 面试题
幼儿园校车司机的岗位职责
2014/01/30 职场文书
《海伦?凯勒》教学反思
2014/04/17 职场文书
个人公司授权委托书范本
2014/10/12 职场文书
2014年测量员工作总结
2014/12/12 职场文书
五一晚会主持词
2015/07/01 职场文书
2016年校园重阳节广播稿
2015/12/18 职场文书
Vue vee-validate插件的简单使用
2021/06/22 Vue.js
mybatis-plus模糊查询指定字段
2022/04/28 Java/Android
ubuntu下常用apt命令介绍
2022/06/05 Servers