解决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 EasyUI API 中文文档 - ProgressBar 进度条
Sep 29 Javascript
jquery实现通用的内容渐显Tab选项卡效果
Sep 07 Javascript
网页从弹窗页面单选框传值至父页面代码分享
Sep 29 Javascript
jQuery使用模式窗口实现在主页面和子页面中互相传值的方法
Mar 01 Javascript
分享javascript、jquery实用代码段
Oct 20 Javascript
Angularjs 动态添加指令并绑定事件的方法
Apr 13 Javascript
小程序自定义组件实现城市选择功能
Jul 18 Javascript
图文讲解用vue-cli脚手架创建vue项目步骤
Feb 12 Javascript
setTimeout与setInterval的区别浅析
Mar 23 Javascript
详解Jest结合Vue-test-utils使用的初步实践
Jun 27 Javascript
基于vue 动态菜单 刷新空白问题的解决
Aug 06 Javascript
详解如何在Canvas中添加事件的方法
Apr 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
《OVERLORD》第四季,终于等到你!
2020/03/02 日漫
php url路由入门实例
2014/04/23 PHP
PHP简单字符串过滤方法示例
2016/09/04 PHP
一个对于Array的简单扩展
2006/10/03 Javascript
让iframe自适应高度(支持XHTML,支持FF)
2007/07/24 Javascript
科讯商业版中用到的ajax空间与分页函数
2007/09/02 Javascript
JQuery入门——用映射方式绑定不同事件应用示例
2013/02/05 Javascript
JS对HTML标签select的获取、添加、删除操作
2013/10/17 Javascript
jquery的总体架构分析及实现示例详解
2014/11/08 Javascript
script标签属性用type还是language
2015/01/21 Javascript
js计算德州扑克牌面值的方法
2015/03/04 Javascript
简介JavaScript中Math.cos()余弦方法的使用
2015/06/15 Javascript
JavaScript调用浏览器打印功能实例分析
2015/07/17 Javascript
谈谈encodeURI和encodeURIComponent以及escape的区别与应用
2015/11/24 Javascript
JS异步文件分片断点上传的实现思路
2016/12/25 Javascript
详谈js中window.location.search的用法和作用
2017/02/13 Javascript
JS+html5制作简单音乐播放器
2020/09/13 Javascript
Angular2仿照微信UI实现9张图片上传和预览的示例代码
2017/10/19 Javascript
安装Node.js并启动本地服务的操作教程
2018/05/12 Javascript
vue中组件的3种使用方式详解
2019/03/23 Javascript
JQuery+Bootstrap 自定义全屏Loading插件的示例demo
2019/07/03 jQuery
Python sys.path详细介绍
2013/10/17 Python
Python3.6笔记之将程序运行结果输出到文件的方法
2018/04/22 Python
python实现对求解最长回文子串的动态规划算法
2018/06/02 Python
删除python pandas.DataFrame 的多重index实例
2018/06/08 Python
纯CSS3发光分享按钮的实现教程
2014/09/06 HTML / CSS
解析html5 canvas实现背景鼠标连线动态效果代码
2019/06/17 HTML / CSS
软件测试有哪些?什么是配置项?
2012/02/12 面试题
给学校建议书范文
2014/05/13 职场文书
安全标语大全
2014/06/10 职场文书
机关党建工作汇报材料
2014/08/20 职场文书
党的群众路线教育实践活动教师自我剖析材料
2014/10/09 职场文书
沈阳故宫导游词
2015/01/31 职场文书
趣味运动会口号
2015/12/24 职场文书
解决hive中导入text文件遇到的坑
2021/04/07 Python
六个好看实用的 HTML + CSS 后台登录入口页面
2022/04/28 HTML / CSS