当前位置: 首页 > news >正文

Layui table不使用url属性结合laypage组件实现动态分页

从后台一次性获取所有数据赋值给 Layui table 组件的 data 属性,若数据量大时,很可能会超出浏览器字符串最大长度,导致渲染数据失败。Layui table 结合 laypage 组件实现动态分页可解决此问题。

HTML增加分页组件标签

在table后增加一个用于绑定 laypage 分页组件的div容器标签:<div id="pagebar"></div>。

<div class="layui-block" style="width:100%"><table id="dataList2" lay-filter="dataList2"></table>
</div><div id="pagebar"></div>

后台分页处理

后台查询方法需要增加两个参数:page(当前页码)、pageSize(每页大小)。

在循环外增加一个变量  totalCount ,用于保存符合条件的数据总记录数。 

输出数据之前判断页数,跳出。

//分页处理
s totalCount=totalCount+1
continue:(totalCount<((page-1)*pageSize+1))||(totalCount>(page*pageSize))

JS前端分页处理

Layui table渲染之前,预先存储一些分页初始化参数。

//会话存储一些信息
sessionStorage.setItem("layPageCurr",1);	//当前页
sessionStorage.setItem("layPageCounts",0);	//总记录数
sessionStorage.setItem("layPageSize",17);	//页面大小

在Layui table的 done 回调方法中,动态渲染 laypage 分页组件。

done: function(data, curr){//动态渲染laypage分页组件layui.laypage.render({elem: 'pagebar', limit: sessionStorage.getItem("layPageSize"),	//动态赋值页面大小limits: [17,25,50,100,1000],curr: sessionStorage.getItem("layPageCurr"),	//动态赋值当前页count: sessionStorage.getItem("layPageCounts"), // 数据总数layout: ['count', 'prev', 'page', 'next', 'limit', 'refresh', 'skip'], // 功能布局jump: function(obj, first){//console.log(obj);if (first) { return; }	//首次不执行,重要!var page=obj.curr;		//当前页var pageSize=obj.limit;	//页面大小sessionStorage.setItem("layPageSize",pageSize);	//如果切换了分页大小,重新存储页面大小find(page, pageSize);}});
}

在调用后台查询方法完成后的回调方法中,存储当前页和记录总数。

sessionStorage.setItem("layPageCurr",page);
sessionStorage.setItem("layPageCounts",dataObj.counts);

效果

http://www.lryc.cn/news/507712.html

相关文章:

  • 【蓝桥杯】43688-《Excel地址问题》
  • 【bodgeito】攻防实战记录
  • Soul Preserver
  • Android 折叠屏问题解决 - 展开或收起页面重建
  • 深入理解 Linux wc 命令
  • 半连接转内连接规则的原理与代码解析 |OceanBase查询优化
  • 多进程、多线程、分布式测试支持-pytest-xdis插件
  • Oracle virTualBox安装window10
  • Python7-数据结构
  • springboot指定ssl版本连接
  • VTK编程指南<十二>:VTK图像数据结构及图像创建与显示
  • EasyGBS国标GB28181平台P2P远程访问故障排查指南:客户端角度的排查思路
  • 打造智慧医院挂号枢纽:SSM 与 Vue 融合的系统设计与实施
  • 网络编程 02:IP 地址,IP 地址的作用、分类,通过 Java 实现 IP 地址的信息获取
  • 如何使用Python WebDriver爬取ChatGPT内容(完整教程)
  • WSL切换默认发行版
  • 全志H618 Android12修改doucmentsui功能菜单项
  • 移动网络(2,3,4,5G)设备TCP通讯调试方法
  • 网络安全概论——入侵检测系统IDS
  • Linux通信System V:消息队列 信号量
  • 计算机网络基础图解
  • TDesign:NavBar 导航栏
  • hive注释comment中文乱码解决
  • 电脑提示ntdll.d缺失是什么原因?不处理的话会怎么样?ntdll.dll文件缺失快速解决方案来啦!
  • MFC/C++学习系列之简单记录——序列化机制
  • 二十、服务发布Ingress
  • 计算机网络 八股青春版
  • java全栈day18--Web后端实战(java操作数据库2)
  • electron-vite【实战】自定义标题栏【组件封装】(含异形标题栏,指定区域拖拽,窗口置顶,窗口最小化,窗口最大化,取消最大化,隐藏窗口到托盘等)
  • vue2 项目webpack 4升5