layui分页怎么处理大数据量卡顿

落明吖_9541

落明吖_9541

2026-09-06

1004人浏览

原创

layui分页卡顿根源在于前端全量加载与冗余渲染,需关闭height未设、limit过大、loading:true三大陷阱,并由后端严格按page/limit分页返回合规数据。

layui分页怎么处理大数据量卡顿

别让 layui 分页扛大数据量——它默认的分页逻辑不是为万级数据设计的,卡顿根源在于前端全量加载、重复渲染和 DOM 膨胀。直接关掉 page: true 并不解决问题,关键得让分页行为与后端对齐、砍掉冗余渲染、避开主线程阻塞。

为什么 layui 分页一到几千条就卡?

常见现象包括:Uncaught RangeError: Maximum call stack size exceeded、滚动时表格“跳帧”、点击下一页白屏 2 秒、CPU 持续 90%+。这不是你数据慢,是 layui 在 page: true 下仍会遍历整个 res.data 做字段映射、格式化、even/odd 样式计算,哪怕只显示 50 条,内部也把全部响应数据过一遍。更糟的是,如果误用 data: [] + page: true,layui 会自己切片,但缓存、排序、搜索都失效,还多占内存。

必须关闭的三个默认陷阱

以下配置不手动关掉,其他优化基本无效:

  • height 必须设为具体数值(如 height: 500),否则虚拟滚动不启用,滚动卡死是必然
  • page 设为 true 的同时,limit 控制在 50–100,别设成 500 —— 后端一次返回太多行,前端拼 HTML 时间翻倍
  • loading: true 禁用,它底层用 setTimeout 插入 loading dom,和真实渲染抢主线程,反而加剧抖动

后端接口必须配合分页参数

前端 url: '/api/list' 发出的请求,必须带 page 和 limit,且后端严格按这两个参数查库、返回对应页数据。不能出现:

人工智能数字技术机器人全息大脑大数据分析矢量素材(EPS)
人工智能数字技术机器人全息大脑大数据分析矢量素材(EPS)

这是一款人工智能数字技术机器人全息大脑大数据分析矢量素材,格式为 EPS,含 JPG 预览图。

下载
  • 前端发 page=2&limit=80,后端却忽略参数,返回全量 1w 行
  • 后端返回的 count 字段不准(比如漏统计软删除数据),导致分页器错乱、跳页失败
  • 接口返回结构不符合 layui 要求:必须是 {"code":0,"msg":"","count":12345,"data":[{...}]},缺 count 或类型不对(如 string)都会让分页器消失或报错

done 回调里接管 tbody 渲染(防闪烁关键)

不要依赖 layui 自动拼 tbody,万级数据下它的内部流程不可控。把实际插入逻辑挪进 done,用 DocumentFragment 批量写入:

table.render({
  elem: '#demo',
  height: 500,
  url: '/api/list',
  page: true,
  limit: 80,
  done: function(res, curr, count) {
    const tbody = this.elem.next('.layui-table-box').find('tbody');
    tbody.empty();
    const frag = document.createDocumentFragment();
    res.data.forEach(row => {
      const tr = document.createElement('tr');
      tr.innerHTML = `<td>${row.id}</td><td>${row.name}</td>`;
      frag.appendChild(tr);
    });
    tbody[0].appendChild(frag);
  }
});

注意:res.data 是当前页纯对象数组,别在里面调 JSON.stringify() 或嵌套循环;如果列多、字段深,提前在后端 flatten 结构,比前端处理快一个数量级。

真正难的不是怎么写完这几十行代码,而是后端是否真能稳定返回符合分页语义的数据——很多卡顿问题最后都定位到数据库没建好索引、count 查询超时、或分页 offset 模式在百万级表上退化。前端能做的边界很清晰:只拿该拿的,只画该画的,别替后端背锅。

相关文章

PHP速学视频免费教程(入门到精通)
PHP速学视频免费教程(入门到精通)

PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载

相关标签:

layui分页 大数据 layui

本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

相关专题

更多
python是前端还是后端
python是前端还是后端

Python属于前端也属于后端,其灵活性和丰富的生态系统使得开发人员能够在不同的领域中灵活运用。本专题为大家提供python相关的文章、下载、课程内容,供大家免费下载体验。

2023.08.11

2263

5

前端如何实现即时通讯
前端如何实现即时通讯

实现即时通讯的方法有WebSocket、Long Polling、Server-Sent Events、WebRTC等等。详细介绍:1、WebSocket,它可以在客户端和服务器之间建立持久连接,实现实时的双向通信,前端可以使用 WebSocket API来创建WebSocket连接,并通过发送和接收消息来实现即时通讯;2、Long Polling,是一种模拟实时通信的技术等等。

2023.10.09

4883

6

前端和后端的区别
前端和后端的区别

前端关注的是用户界面的设计和交互,而后端则注重数据处理和逻辑控制。想了解更多前端后端的相关内容,可以阅读本专题下面的文章。

2024.03.19

5990

13

php和前端的关联介绍
php和前端的关联介绍

php既可以作为前端语言,也可以作为后端语言。想了解更多php和前端的相关内容,可以阅读本专题下面的文章。

2024.03.22

5478

10

前端外包工作内容有哪些
前端外包工作内容有哪些

前端外包工作内容包括:1. 网站和应用程序开发;2. 用户界面和交互设计;3. 用户体验优化;4. 设计和视觉开发;5. 跨浏览器兼容性;6. 性能优化;7. 维护和更新;8. 项目管理和沟通。想了解更多前端的相关内容,可以阅读本专题下面的文章。

2024.05.22

783

5

大数据分析工具有哪四个
大数据分析工具有哪四个

大数据分析的四个工具分别是rapidminer、Hpcc、Hadoop和Pentaho bi。大数据分析用于从各种来源生成的原始数据中提取有价值的数据。这些数据帮助我们获得有意义的见解、隐藏的模式、未知的相关性、市场趋势等等,具体取决于行业。大数据分析的主要动机是提供有价值的见解,以便为未来做出更好的决策。php中文网为大家带来了大数据分析的相关教程、以及相关文章等内容,供大家免费下载使用。

2023.06.21

4556

5

Java 大数据处理基础(Hadoop 方向)
Java 大数据处理基础(Hadoop 方向)

本专题聚焦 Java 在大数据离线处理场景中的核心应用,系统讲解 Hadoop 生态的基本原理、HDFS 文件系统操作、MapReduce 编程模型、作业优化策略以及常见数据处理流程。通过实际示例(如日志分析、批处理任务),帮助学习者掌握使用 Java 构建高效大数据处理程序的完整方法。

2025.12.08

1229

12

大数据专业学习教程
大数据专业学习教程

本专题整合了大数据专业学习相关教程,阅读专题下面的文章了解更多详细内容。

2026.01.05

223

5

python处理大数据合集
python处理大数据合集

本专题整合了python处理大数据相关教程,阅读专题下面的文章了解更多详细内容。

2026.01.05

466

22

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
PostgreSQL vs MySQL
PostgreSQL vs MySQL

共1课时 | 178人学习

大数据(MySQL)视频教程完整版
大数据(MySQL)视频教程完整版

共200课时 | 27.5万人学习

PHP会话控制/文件上传/分页技术
PHP会话控制/文件上传/分页技术

共22课时 | 2.9万人学习