讲师中心 微信公众号
AI工具推荐 视频效率加速

Layui如何解决表格在大数据量(万级以上)下的渲染闪烁

大雪君_4844

大雪君_4844

发布时间:2026-04-15 08:35:28

|

787人浏览过

|

来源于php中文网

原创

layui.table渲染万级数据闪烁的本质是DOM批量重绘与响应式劫持叠加所致;必须关闭height未设值、page为false、loading:true三项默认行为,并在done回调中用DocumentFragment批量插入tbody,后端必须分页返回数据。

为什么 layui.table 渲染万级数据会闪烁

本质是 dom 批量重绘 + vue 式响应式劫持的叠加效应。layui 2.8+ 虽改用原生 js,但 table.render() 默认仍把全部数据塞进 tbody,浏览器要一次性生成上万个 tr 节点,触发强制同步布局(layout)和重绘(paint),肉眼就看到“白屏→闪一下→出来”。更麻烦的是,如果启用了 even、skin 或自定义 templet,每个单元格还要走一遍字符串拼接或函数调用,cpu 时间直接拉满。

必须关掉的三个默认行为

不关它们,加再多优化都是白搭:

  • height 设为具体数值(如 height: 500),否则表格无法启用虚拟滚动,scrollY 机制压根不生效
  • page 必须设为 true,且 limit 控制在 50–100;万级数据不分页,table.reload() 时仍会全量重绘
  • 禁用 loading: true 的默认动画——它底层用 setTimeout 插入 loading dom,和真实渲染竞争 DOM 树,反而加剧抖动

用 done 回调接管渲染时机

别依赖 table.render() 自动完成,万级数据下它的内部 render 流程不可控。把实际插入逻辑挪到 done 里,等 layui 完成表头、分页器等轻量结构后再动手:

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

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

下载
table.render({
  elem: '#demo',
  height: 500,
  url: '/api/list',
  page: true,
  limit: 80,
  done: function(res, curr, count) {
    // 此时表头、分页已就位,只操作 tbody
    const tbody = this.elem.next('.layui-table-box').find('tbody');
    tbody.empty(); // 清空可能残留的 loading 占位
    // 这里可手写字符串拼接,或用 DocumentFragment 批量 append
    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);
  }
});

后端必须配合做分页,前端别硬扛

这是最容易被忽略的「假优化」:有人试图用 data 传入全部万条数据,再靠 page: true 前端切片——layui 内部仍会遍历整个数组做字段映射、格式化、筛选,内存占用翻倍,GC 频繁导致卡顿更明显。

  • 后端接口必须支持 page 和 limit 参数,只返回当前页数据
  • 避免在 templet 里调用异步函数(比如查用户头像),这会让每一行都触发微任务,渲染队列崩坏
  • 如果真需要全局搜索,用服务端模糊查询,别把全量数据 load 到前端再 filter

真正卡住的从来不是 layui,是没切断数据流的源头。后端少吐一条无效字段,比前端加十个 debounce 都管用。

热门AI工具

更多
咔片AIPPT

一款在线AI演示文稿制作工具,可根据主题和内容需求辅助生成PPT结构与页面,提高演示材料制作效率。

蛙蛙写作

一款AI论文写作工具,主要用于超级AI智能写作助手,适合需要提升相关任务效率的用户。

PixTV
PixTV Hot

PixTV是一款面向AIGC内容创作的AI视频生成工具。

DeepSeek

DeepSeek是一款面向对话、写作、编程和推理场景的AI大模型工具。

豆包大模型

豆包大模型是一款由字节跳动推出的企业级大语言模型服务平台。

立刻MV
立刻MV Hot

立刻MV是一款AI文本写作工具,AI 音乐视频(MV)创作工具。

PixPix
PixPix Hot

PixPix是一款面向电商视觉生产的AI商品图生成工具。

WorkBuddy

一款AI办公效率工具,主要用于腾讯云推出的AI原生桌面智能体工作台,适合需要提升相关任务效率的用户。

VibeKnow
VibeKnow Hot

一款AI视频创作工具,主要用于全球首个AI知识视频创作平台,文档、文章、网页,一键生成视频,适合需要提升相关任务效率的用户。

相关专题

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

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

2323

2023.08.11

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

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

5023

2023.10.09

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

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

6090

2024.03.19

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

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

5618

2024.03.22

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

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

803

2024.05.22

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

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

4696

2023.06.21

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

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

1229

2025.12.08

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

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

223

2026.01.05

FrankenPHP集成Laravel详细教程
FrankenPHP集成Laravel详细教程

本专题提供FrankenPHP集成Laravel的详细配置指南,全面解析运行原理、开发环境搭建、Caddyfile配置、Octane工作模式、数据库连接、队列任务、定时任务和生产环境优化,解决部署过程中常见的报错与兼容性问题。

0

2026.10.08

热门下载

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

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn