浅谈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 相关文章推荐
javascript入门·对象属性方法大总结
Oct 01 Javascript
防止文件缓存的js代码
Jan 10 Javascript
JQuery伸缩导航练习示例
Nov 13 Javascript
jquery跟js初始化加载的多种方法及区别介绍
Apr 02 Javascript
初识angular框架后的所思所想
Feb 19 Javascript
基于Bootstrap和jQuery构建前端分页工具实例代码
Nov 23 Javascript
浅谈javascript中执行环境(作用域)与作用域链
Dec 08 Javascript
微信小程序访问node.js接口服务器搭建教程
Apr 25 Javascript
详解Angular-Cli中引用第三方库
May 21 Javascript
详解刷新页面vuex数据不消失和不跳转页面的解决
Jan 30 Javascript
vue3.0 CLI - 2.2 - 组件 home.vue 的初步改造
Sep 14 Javascript
element实现合并单元格通用方法
Nov 13 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防攻击代码升级版
2010/12/29 PHP
php输出xml格式字符串(用的这个)
2012/07/12 PHP
PHP+jQuery 注册模块开发详解
2014/10/14 PHP
CI框架实现优化文件上传及多文件上传的方法
2017/01/04 PHP
PHP使用mysqli同时执行多条sql查询语句的实例
2019/03/22 PHP
PHP从零开始打造自己的MVC框架之路由类实现方法分析
2019/06/03 PHP
JS 文字符串转换unicode编码函数
2009/05/30 Javascript
JavaScript与DOM组合动态创建表格实例
2012/12/23 Javascript
jquery图片不完全按比例自动缩小的简单代码
2013/07/29 Javascript
再谈Jquery Ajax方法传递到action(补充)
2014/05/12 Javascript
jQuery实现新消息闪烁标题提示的方法
2015/03/11 Javascript
jQuery实现定时读取分析xml文件的方法
2015/07/16 Javascript
JS动态创建元素的两种方法
2016/04/20 Javascript
关于JS变量和作用域详解
2016/07/28 Javascript
Angular2学习教程之ng中变更检测问题详解
2017/05/28 Javascript
jQuery实现火车票买票城市选择切换功能
2017/09/15 jQuery
实现图片首尾平滑轮播(JS原生方法—节流)
2017/10/17 Javascript
vue 运用mock数据的示例代码
2017/11/07 Javascript
JavaScript中使用import 和require打包后实现原理分析
2018/03/07 Javascript
VUE中使用MUI方法
2019/02/12 Javascript
countUp.js实现数字动态变化效果
2019/10/17 Javascript
两个使用Python脚本操作文件的小示例分享
2015/08/27 Python
PyCharm代码整体缩进,反向缩进的方法
2018/06/25 Python
Python并发之多进程的方法实例代码
2018/08/15 Python
Python使用qrcode二维码库生成二维码方法详解
2020/02/17 Python
html5版canvas自由拼图实例
2014/10/15 HTML / CSS
12个不为大家熟知的HTML5设计小技巧
2016/06/02 HTML / CSS
Html5自定义字体解决方法
2019/10/09 HTML / CSS
时装界的“朋克之母”:Vivienne Westwood
2017/07/06 全球购物
美国礼品卡商城: Gift Card Mall
2017/08/25 全球购物
Tuckernuck官网:经典的美国品质服装、鞋子和配饰
2021/01/11 全球购物
竞选团支书演讲稿
2014/04/28 职场文书
夫妻双方自愿离婚协议书怎么写
2014/12/01 职场文书
2014年医院后勤工作总结
2014/12/06 职场文书
2016党员党章学习心得体会
2016/01/14 职场文书
Python selenium的这三种等待方式一定要会!
2021/06/10 Python