浅谈layui框架自带分页和表格重载的接口解析问题


Posted in Javascript onSeptember 11, 2019

首先要了解框架分页自带的参数有哪些,特别是注意参数名称要和后台一致!

浅谈layui框架自带分页和表格重载的接口解析问题

**需要注意的是layui框架的数据解析格式问题,data必须是个数组对象的形式才能正常解析否则会很麻烦(亲测过非正常解析,手写js手动动态添加表格)

data 格式例如:

{
 "count": 11,
 "code": 0,
 "msg": "",
 "data": [
 {
  "id": "1",
  "money": 20,
  "toptype": "在线",
  "operationtype": "充值",
  "remittanceid": 1,
  "img": "",
  "datetime": "2018-08-01 16:01:09",
  "accountid": "wyp666",
  "statusid": "P05",
  "orderid": "2",
  "userid": "wdm123456",
  "audittime": "2018-07-25 16:02:53",
  "tradingid": "",
  "message": "已审核",
  "ip": ""
 }]
 }

这时候注意分页后台json的参数名称要与框架保持一致,特别是page(当前第几页)和 limit(每页显示条数),这时可以通过框架分页属性来直接设置当前为第几页和每页显示条数不用通过data传递这两个参数到后台了;如果page不传的话会默认为第一页;

例如:

table.render({
   elem: '#detail',
   url : '后台接口',
   method:'请求方式',
   cellMinWidth : 95,
   page: { //支持传入 laypage 组件的所有参数(某些参数除外,如:jump/elem) - 详见文档
   layout: ['limit', 'count', 'prev', 'page', 'next', 'skip'] //自定义分页布局
    //,curr: 5 //设定初始在第 5 页
    ,groups: 1 //只显示 1 个连续页码
    ,first: false //不显示首页
    ,last: false //不显示尾页
   },
   unresize:false, //禁止拖拽td框,默认为false可拖拽
   limits : [10,15,20,25], //这里设置可选择每页显示条数
   limit : 10, //这里设置的是每页显示多少条
   id : "表格ID",
   cols : [[..........]]

效果图如下:

浅谈layui框架自带分页和表格重载的接口解析问题

**表格重载(头部搜索功能):通过传入的日期来搜索请求后台查询出数据

//搜索查询
  var active = {
   reload: function(){
    var date_s = $('#date_s').val(); //传入搜索的日期值 
    //执行重载
    table.reload('重载表格id', {
     url : '搜索请求接口',
     method:'请求类型',
     page: {
      curr: 1 //重新从第 1 页开始
     }
     ,where: { //类似于 data
      beginDate:date_s //传入日期参数
     }
    });
   }
  };
  $('#rechar_btn').on('click', function(){
   var type = $(this).data('type');
   //不能为空验证
   if( $('#date_s').val()==""){
    layer.msg('查询起始日期不能为空');
    return false;
   }
   active[type] ? active[type].call(this) : '';
  });

特别要注意的是执行表格重载时,点击的按钮btn最好不要用button或者input(容易入坑)否则点击搜索时页面会刷新,接口会提交两次,把 button 换成 div 就会避免这个问题。

类似于:

<button class="layui-btn" data-type="reload" lay-filter="rechar_btn" id="rechar_btn" >搜索</button>

换成 div

<div class="layui-btn" data-type="reload" lay-filter="rechar_btn" id="rechar_btn" >搜索</div>

最后说一下:分页也支持回调----看文档里的-切换分页的回调

laypage.render({
 elem: 'test1'
 ,count: 70 //数据总数,从服务端得到
 ,jump: function(obj, first){
 //obj包含了当前分页的所有参数,比如:
 console.log(obj.curr); //得到当前页,以便向服务端请求对应页的数据。
 console.log(obj.limit); //得到每页显示的条数
 
 //首次不执行
 if(!first){
  //do something
 }
 }
});

都是项目里遇到的一些小问题,顺手写一笔,如果各位大神不巧看到这里还请大家多多提点意见和建议,大家多多沟通和分享~

以上这篇浅谈layui框架自带分页和表格重载的接口解析问题就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
firefox中用javascript实现鼠标位置的定位
Jun 17 Javascript
JavaScript 快捷键设置实现代码
Mar 13 Javascript
整理一些JavaScript的IE和火狐的兼容性注意事项
Mar 17 Javascript
JS实现仿QQ面板的手风琴效果折叠菜单代码
Sep 11 Javascript
JavaScript编写简单的计算器
Nov 25 Javascript
jquery实现触发时更新下拉列表内容的方法
Dec 02 Javascript
js和jQuery设置Opacity半透明 兼容IE6
May 24 Javascript
轻松掌握JavaScript装饰者模式
Aug 27 Javascript
javaScript如何跳出多重循环break、continue
Sep 01 Javascript
Angular2 自定义validators的实现方法
Jul 05 Javascript
VueJs组件prop验证简单介绍
Sep 12 Javascript
js循环map 获取所有的key和value的实现代码(json)
May 09 Javascript
Layui实现数据表格中鼠标悬浮图片放大效果,离开时恢复原图的方法
Sep 11 #Javascript
js中offset,client , scroll 三大元素知识点总结
Sep 11 #Javascript
js实现点击图片在屏幕中间弹出放大效果
Sep 11 #Javascript
node-red File读取好保存实例讲解
Sep 11 #Javascript
vue中nextTick用法实例
Sep 11 #Javascript
js计算最大公约数和最小公倍数代码实例
Sep 11 #Javascript
如何换个角度使用VUE过滤器详解
Sep 11 #Javascript
You might like
php5编程中的异常处理详细方法介绍
2008/07/29 PHP
解决文件名解压后乱码的问题 将文件名进行转码的代码
2012/01/10 PHP
php图像处理函数大全(推荐收藏)
2013/07/11 PHP
分享下页面关键字抓取components.arrow.com站点代码
2014/01/30 PHP
php简单计算年龄的方法(周岁与虚岁)
2016/12/06 PHP
thinkPHP引入类的方法详解
2016/12/08 PHP
详解PHP 二维数组排序保持键名不变
2019/03/06 PHP
php新建文件的方法实例
2019/09/26 PHP
javascript options属性集合操作代码
2009/12/28 Javascript
select标记美化--JS式插件、后期加载
2013/04/01 Javascript
fmt:formatDate的输出格式详解
2014/01/09 Javascript
JavaScript中的数学运算介绍
2014/12/29 Javascript
jQuery选择器querySelector的使用指南
2015/01/23 Javascript
javascript实现拖放效果
2015/12/16 Javascript
关于js中的鼠标事件总结
2017/07/11 Javascript
详解如何实现一个简单的 vuex
2018/02/10 Javascript
Vuex中mutations与actions的区别详解
2018/03/01 Javascript
vue实现tab切换外加样式切换方法
2018/03/16 Javascript
python写的一个squid访问日志分析的小程序
2014/09/17 Python
用Python中的__slots__缓存资源以节省内存开销的方法
2015/04/02 Python
用Python实现服务器中只重载被修改的进程的方法
2015/04/30 Python
Python栈类实例分析
2015/06/15 Python
Python根据指定日期计算后n天,前n天是哪一天的方法
2018/05/29 Python
使用Python处理BAM的方法
2018/09/28 Python
python清除字符串前后空格函数的方法
2018/10/21 Python
Python Django框架单元测试之文件上传测试示例
2019/05/17 Python
线程安全及Python中的GIL原理分析
2019/10/29 Python
python创建学生管理系统
2019/11/22 Python
pycharm激活码有效到2020年11月底
2020/09/18 Python
使用python-cv2实现Harr+Adaboost人脸识别的示例
2020/10/27 Python
世界领先的26岁以下学生和青少年旅行预订网站:StudentUniverse
2018/07/01 全球购物
Coggles美国/加拿大:高级国际时装零售商
2018/10/23 全球购物
什么是属性访问器
2015/10/26 面试题
师范教师大学生职业生涯规划范文
2014/01/05 职场文书
护士岗前培训自我评鉴
2014/02/28 职场文书
城市规划应届毕业生自荐信
2014/07/04 职场文书