浅谈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 相关文章推荐
基于jquery的给文章加入关键字链接
Oct 26 Javascript
JQUERY dialog的用法详细解析
Dec 19 Javascript
Ajax请求在数据量大的时候出现超时的解决方法
Feb 27 Javascript
JavaScript中发布/订阅模式的简单实例
Nov 05 Javascript
javascript实现画不相交的圆
Apr 07 Javascript
C#微信小程序服务端获取用户解密信息实例代码
Mar 10 Javascript
ztree简介_动力节点Java学院整理
Jul 19 Javascript
JavaScript 正则命名分组【推荐】
Jun 07 Javascript
vue实现类似淘宝商品评价页面星级评价及上传多张图片功能
Oct 29 Javascript
vue实现的仿淘宝购物车功能详解
Jan 27 Javascript
微信小程序城市选择及搜索功能的方法
Mar 22 Javascript
如何解决vue在ios微信&quot;复制链接&quot;功能问题
Mar 26 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
一个简单的网页密码登陆php代码
2012/07/17 PHP
PHP7.0安装笔记整理
2015/08/28 PHP
使用PHP uniqid函数生成唯一ID
2015/11/18 PHP
简单的自定义php模板引擎
2016/08/26 PHP
创建无限极分类树型结构的简单方法
2017/06/20 PHP
PHP实现正则表达式分组捕获操作示例
2018/02/03 PHP
php实现微信小程序授权登录功能(实现流程)
2019/11/13 PHP
基于jquery的图片懒加载js
2010/06/30 Javascript
用XMLDOM和ADODB.Stream实现base64编码解码实现代码
2010/11/28 Javascript
DOM基础教程之使用DOM控制表单
2015/01/20 Javascript
node.js集成百度UE编辑器
2015/02/05 Javascript
Extjs4.0 ComboBox如何实现三级联动
2016/05/11 Javascript
详解Vue中使用v-for语句抛出错误的解决方案
2017/05/04 Javascript
JavaScript事件方法(实例讲解)
2017/06/27 Javascript
Vue项目中引入外部文件的方法(css、js、less)
2017/07/24 Javascript
微信通过页面(H5)直接打开本地app的解决方法
2017/09/09 Javascript
如何编写一个完整的Angular4 FormText 组件
2017/11/18 Javascript
vue 右键菜单插件 简单、可扩展、样式自定义的右键菜单
2018/11/29 Javascript
微信小程序模板template简单用法示例
2018/12/04 Javascript
浅谈Angular7 项目开发总结
2018/12/19 Javascript
ES6 Iterator接口和for...of循环用法分析
2019/07/31 Javascript
JavaScript实现弹出窗口效果
2020/12/09 Javascript
[20:21]《一刀刀一天》第十六期:TI国际邀请赛正式打响,总奖金超过550万
2014/05/23 DOTA
用不到50行的Python代码构建最小的区块链
2017/11/16 Python
基于Python log 的正确打开方式
2018/04/28 Python
python实现读Excel写入.txt的方法
2018/04/29 Python
详解Python给照片换底色(蓝底换红底)
2019/03/22 Python
Python如何调用外部系统命令
2019/08/07 Python
Python类的动态绑定实现原理
2020/03/21 Python
如何使用python的ctypes调用医保中心的dll动态库下载医保中心的账单
2020/05/24 Python
Canvas波浪花环的示例代码
2020/08/21 HTML / CSS
Needle & Thread官网:英国仙女品牌
2018/01/13 全球购物
英文版区域经理求职信
2013/10/23 职场文书
竞聘演讲稿怎么写
2014/08/28 职场文书
学院党的群众路线教育实践活动整改方案
2014/10/04 职场文书
卡特教练观后感
2015/06/08 职场文书