浅谈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 相关文章推荐
JS实现拖动示例代码
Nov 01 Javascript
javaScript array(数组)使用字符串作为数组下标的方法
Nov 19 Javascript
网页广告中JS代码的信息监听示例
Apr 02 Javascript
浅谈javascript中this在事件中的应用
Feb 15 Javascript
jQuery简单实现两级下拉菜单效果代码
Sep 15 Javascript
如何用js判断dom是否有存在某class的值
Feb 13 Javascript
基于vuejs实现一个todolist项目
Apr 11 Javascript
es6学习笔记之Async函数的使用示例
May 11 Javascript
js点击时关闭该范围下拉菜单之外的菜单方法
Jan 11 Javascript
使用vue官方提供的模板vue-cli搭建一个helloWorld案例分析
Jan 16 Javascript
jQuery动态移除与增加onclick属性的方法详解
Jun 07 jQuery
vue组件数据传递、父子组件数据获取,slot,router路由功能示例
Mar 19 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
2006/10/09 PHP
php模板中出现空行解决方法
2011/03/08 PHP
PHP 提取图片img标记中的任意属性的简单实例
2013/12/10 PHP
PHP实现数组递归转义的方法
2014/08/28 PHP
Symfony2框架学习笔记之表单用法详解
2016/03/18 PHP
PHP实现简易图形计算器
2020/08/28 PHP
Prototype Class对象学习
2009/07/19 Javascript
你必须知道的Javascript知识点之&quot;深入理解作用域链&quot;的介绍
2013/04/23 Javascript
JS格式化数字金额用逗号隔开保留两位小数
2013/10/18 Javascript
简介JavaScript中Math.cos()余弦方法的使用
2015/06/15 Javascript
sso跨域写cookie的一段js脚本(推荐)
2016/05/25 Javascript
jQuery 3.0中存在问题及解决办法
2016/07/15 Javascript
vue分页组件table-pagebar使用实例解析
2020/11/15 Javascript
docker中编译nodejs并使用nginx启动
2017/06/23 NodeJs
angularjs实现分页和搜索功能
2018/01/03 Javascript
JavaScript解析及序列化JSON的方法实例分析
2019/01/04 Javascript
微信小程序用户授权,以及判断登录是否过期的方法
2019/05/10 Javascript
微信小程序实现点击效果
2019/06/21 Javascript
React 条件渲染最佳实践小结(7种)
2020/09/27 Javascript
vue实现图片裁剪后上传
2020/12/16 Vue.js
[49:13]DOTA2上海特级锦标赛C组资格赛#1 OG VS LGD第一局
2016/02/27 DOTA
Python脚本实现网卡流量监控
2015/02/14 Python
python3发送邮件需要经过代理服务器的示例代码
2019/07/25 Python
Python实现时间序列可视化的方法
2019/08/06 Python
关于pymysql模块的使用以及代码详解
2019/09/01 Python
Python实现自动访问网页的例子
2020/02/21 Python
Python numpy矩阵处理运算工具用法汇总
2020/07/13 Python
python中逻辑与或(and、or)和按位与或异或(&amp;、|、^)区别
2020/08/05 Python
为你的html5网页添加音效示例
2014/04/03 HTML / CSS
党员公开承诺践诺书
2014/03/25 职场文书
人事任命书范文
2014/06/04 职场文书
生产车间标语
2014/06/11 职场文书
工会经费申请报告
2015/05/15 职场文书
小学生大队委竞选稿
2015/11/20 职场文书
MySQL学习总结-基础架构概述
2021/04/05 MySQL
一文了解Java动态代理的原理及实现
2022/07/07 Java/Android