浅谈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 事件执行检测代码
Dec 09 Javascript
JavaScript判断窗口是否最小化的代码(跨浏览器)
Aug 01 Javascript
jquery 关于event.target使用的几点说明介绍
Apr 26 Javascript
jQuery怎么解析Json字符串(Json格式/Json对象)
Aug 09 Javascript
页面按钮禁用与解除禁用的方法
Feb 19 Javascript
JS动态增删表格行的方法
Mar 03 Javascript
详解axios在vue中的简单配置与使用
May 10 Javascript
vue+iview写个弹框的示例代码
Dec 05 Javascript
解析vue路由异步组件和懒加载案例
Jun 08 Javascript
node和vue实现商城用户地址模块
Dec 05 Javascript
vue项目前端错误收集之sentry教程详解
May 27 Javascript
vue+Element-ui实现登录注册表单
Nov 17 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
人族 Terran 魔法与科技
2020/03/14 星际争霸
Notice: Undefined index: page in E:\PHP\test.php on line 14
2010/11/02 PHP
PHP针对redis常用操作实例详解
2019/08/17 PHP
Laravel 实现Eloquent模型分组查询并返回每个分组的数量 groupBy()
2019/10/23 PHP
JavaScript入门教程(3) js面向对象
2009/01/31 Javascript
网页自动跳转代码收集
2009/09/27 Javascript
IE6下js通过css隐藏select的一个bug
2010/08/16 Javascript
js中将URL中的参数提取出来作为对象的实现代码
2011/08/16 Javascript
js中的数组Array定义与sort方法使用示例
2013/08/29 Javascript
判断滚动条到底部的JS代码
2013/11/04 Javascript
纯JS实现根据CSS的class选择DOM
2014/03/22 Javascript
详解Backbone.js框架中的模型Model与其集合collection
2016/05/05 Javascript
浅谈jQuery 中的事件冒泡和阻止默认行为
2016/05/28 Javascript
JS实现页面数据无限加载
2016/09/13 Javascript
form表单转Json提交的方法(推荐)
2016/09/23 Javascript
原生js实现焦点轮播图效果
2017/01/12 Javascript
原生js实现轮播图
2017/02/27 Javascript
详解angularJS+Ionic移动端图片上传的解决办法
2017/09/13 Javascript
微信小程序wx.uploadfile 本地文件转base64的实现代码
2018/06/28 Javascript
jQuery实现模糊搜索功能的方法分析
2018/06/29 jQuery
谈一谈vue请求数据放在created好还是mounted里好
2020/07/27 Javascript
如何在vue中使用百度地图添加自定义覆盖物(水波纹)
2020/11/03 Javascript
Python实现批量转换文件编码的方法
2015/07/28 Python
Python使用迭代器打印螺旋矩阵的思路及代码示例
2016/07/02 Python
Python3之手动创建迭代器的实例代码
2019/05/22 Python
PYTHON绘制雷达图代码实例
2019/10/15 Python
python文件处理fileinput使用方法详解
2020/01/02 Python
Canvas在超级玛丽游戏中的应用详解
2021/02/06 HTML / CSS
FOREO官方网站:LUNA露娜洁面仪
2016/11/28 全球购物
英国泰坦旅游网站:全球陪同游览,邮轮和铁路旅行
2016/11/29 全球购物
《听鱼说话》教学反思
2014/02/15 职场文书
大学优秀班主任事迹材料
2014/05/02 职场文书
大学生标准自荐书
2014/06/15 职场文书
教师信息技术学习心得体会
2016/01/21 职场文书
关于拾金不昧的感谢信(五篇)
2019/10/18 职场文书
zabbix如何添加监控主机和自定义监控项
2022/08/14 Servers