parseData.html 2.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465
  1. <title>解析任意数据格式 - 数据表格</title>
  2. <div class="layui-card layadmin-header">
  3. <div class="layui-breadcrumb" lay-filter="breadcrumb">
  4. <a lay-href="">主页</a>
  5. <a><cite>组件</cite></a>
  6. <a><cite>数据表格</cite></a>
  7. <a><cite>解析任意数据格式</cite></a>
  8. </div>
  9. </div>
  10. <div class="layui-fluid">
  11. <div class="layui-row layui-col-space15">
  12. <div class="layui-col-md12">
  13. <div class="layui-card">
  14. <div class="layui-card-header">解析任意数据格式</div>
  15. <div class="layui-card-body">
  16. <blockquote class="layui-elem-quote layui-text">
  17. 尽管本示例中的原始数据:<a href="./json/table/demo3.js" target="_blank">./json/table/demo3.js</a>,并不符合 table 组件默认规定的数据格式,但从 layui 2.4.0 开始,新增的 parseData 回调可以将原始的任意格式的数据重新解析成 table 组件规定的数据格式。具体可以点击上方查看代码。
  18. </blockquote>
  19. <table class="layui-hide" id="test-table-parseData" lay-filter="test-table-parseData"></table>
  20. </div>
  21. </div>
  22. </div>
  23. </div>
  24. </div>
  25. <script>
  26. layui.use(['admin', 'table'], function(){
  27. var admin = layui.admin
  28. ,table = layui.table;
  29. table.render({
  30. elem: '#test-table-parseData'
  31. ,url: './json/table/demo3.js'
  32. ,toolbar: true
  33. ,title: '用户数据表'
  34. ,totalRow: true
  35. ,cellMinWidth: 120
  36. ,cols: [[
  37. {field:'id', title:'ID', width:80, sort: true, totalRowText: '合计行'}
  38. ,{field:'username', title:'用户名', edit: 'text'}
  39. ,{field:'experience', title:'积分', sort: true, totalRow: true}
  40. ,{field:'logins', title:'登入次数', sort: true, totalRow: true}
  41. ]]
  42. ,page: true
  43. ,response: {
  44. statusCode: 200 //重新规定成功的状态码为 200,table 组件默认为 0
  45. }
  46. ,parseData: function(res){ //将原始数据解析成 table 组件所规定的数据
  47. return {
  48. "code": res.status, //解析接口状态
  49. "msg": res.message, //解析提示文本
  50. "count": res.total, //解析数据长度
  51. "data": res.rows.item //解析数据列表
  52. };
  53. }
  54. });
  55. });
  56. </script>