浅谈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效率调优经验
Jun 04 Javascript
javascript 面向对象 function类
May 13 Javascript
Javascript/Jquery——简单定时器的多种实现方法
Jul 03 Javascript
javascript获取以及设置光标位置
Feb 16 Javascript
windows下vue.js开发环境搭建教程
Mar 20 Javascript
JS从非数组对象转数组的方法小结
Mar 26 Javascript
vue实现移动端悬浮窗效果
Dec 01 Javascript
Vue 处理表单input单行文本框的实例代码
May 09 Javascript
基于Taro的微信小程序模板消息-获取formId功能模块封装实践
Jul 15 Javascript
JavaScript算法学习之冒泡排序和选择排序
Nov 02 Javascript
vue实现点击按钮“查看详情”弹窗展示详情列表操作
Sep 09 Javascript
vue监听键盘事件的相关总结
Jan 29 Vue.js
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
多重?l件?合查?(二)
2006/10/09 PHP
在Windows下编译适用于PHP 5.2.12及5.2.13的eAccelerator.dll(附下载)
2010/05/04 PHP
PHP 反向排序和随机排序代码
2010/06/30 PHP
php 变量未定义等错误的解决方法
2011/01/12 PHP
PHP 多维数组的排序问题 根据二维数组中某个项排序
2011/11/09 PHP
利用php获取服务器时间的实现代码
2013/06/07 PHP
PHP父类调用子类方法的代码例子
2014/04/09 PHP
php正则替换处理HTML页面的方法
2015/06/17 PHP
PHP的Laravel框架中使用消息队列queue及异步队列的方法
2016/03/21 PHP
PHP会员找回密码功能的简单实现
2016/09/05 PHP
jquery鼠标滑过提示title具体实现代码
2013/08/06 Javascript
js转义字符介绍
2013/11/05 Javascript
jQuery实现菜单式图片滑动切换
2015/03/14 Javascript
深入理解JavaScript编程中的同步与异步机制
2015/06/24 Javascript
javascript中select下拉框的用法总结
2016/01/07 Javascript
JS 事件绑定、事件监听、事件委托详细介绍
2016/09/28 Javascript
在js代码拼接dom对象到页面上去的模板总结(必看)
2017/02/14 Javascript
vue-cli项目中怎么使用mock数据
2017/09/27 Javascript
浅谈MUI框架中加载外部网页或服务器数据的方法
2018/01/31 Javascript
浅谈Webpack打包优化技巧
2018/06/12 Javascript
微信小程序之批量上传并压缩图片的实例代码
2018/07/05 Javascript
Nuxt.js 数据双向绑定的实现
2019/02/17 Javascript
Angular6项目打包优化的实现方法
2019/12/15 Javascript
基于js实现数组相邻元素上移下移
2020/05/19 Javascript
python中的__init__ 、__new__、__call__小结
2014/04/25 Python
django中的HTML控件及参数传递方法
2018/03/20 Python
numpy中的delete删除数组整行和整列的实例
2018/05/09 Python
pywinauto自动化操作记事本
2019/08/26 Python
在Python中获取操作系统的进程信息
2019/08/27 Python
Win10下安装并使用tensorflow-gpu1.8.0+python3.6全过程分析(显卡MX250+CUDA9.0+cudnn)
2020/02/17 Python
Python列表推导式实现代码实例
2020/09/09 Python
法国最大电子商务平台:Cdiscount
2018/03/13 全球购物
家长对小学生的评语
2014/01/28 职场文书
三八妇女节致辞
2015/07/31 职场文书
2016年优秀班主任先进事迹材料
2016/02/26 职场文书
十大最强岩石系宝可梦,怪颚龙实力最强,第七破坏力很强
2022/03/18 日漫