Layui表格如何设置无数据时的提示文字

胖涛姑娘_6689

胖涛姑娘_6689

2026-03-23

204人浏览

原创

layui table 的 emptyText 不生效,主要因分页开启或数据结构错误:启用 page 时需后端返回 count: 0;本地 data 模式下须确保 data 为真实空数组且未混用 url;emptyText 必须置于 render 顶层配置,否则无效。

layui table 的 emptyText 配置不生效?

直接设 emptytext 没反应,大概率是因为没关掉 page 或者数据结构不对。layui 的表格空状态提示只在「完全无数据」时触发,一旦启用了分页(哪怕当前页没数据),它就默认走分页的空逻辑,emptytext 被忽略。

实操建议:

  • 确认是否启用了分页:如果 page: true 或 page: { ... },必须配合 limits 和后端返回 count: 0 才能触发空提示;否则前端渲染时表格会认为“有分页但暂无数据”,不走 emptyText
  • 关闭分页测试最简单:临时设 page: false,再传一个空数组 data: [],这时 emptyText 就会立刻显示
  • emptyText 必须写在 table.render() 的顶层配置里,不能放在 cols 或 done 回调里

后端返回空数据,但页面还是显示加载中或空白

常见现象是表格区域一直转圈、没提示也没报错。这通常不是 emptyText 的问题,而是数据加载流程卡在了异步环节。

实操建议:

  • 检查后端响应格式是否符合 Layui 要求:必须返回 { code: 0, msg: "", count: 0, data: [] };count 字段不能缺,即使为 0 —— Layui 用它判断总条数,缺了就当请求失败
  • 确认 url 请求是否真的完成:打开浏览器 Network 面板,看对应接口返回状态码是否为 200,响应体是否可解析
  • 避免在 parseData 回调里漏 return,或者 return 了错误结构(比如忘了包一层 data 数组)

想自定义空状态样式,比如加图标或按钮

Layui 默认的 emptyText 只支持纯文本,没法插 HTML。硬塞 <span></span> 标签进去会直接被转义显示为字符串。

实操建议:

  • 改用 done 回调手动处理:在回调里判断 res.count === 0,然后用原生 JS 找到表格主体容器(通常是 .layui-table-box .layui-table-body),清空并插入自定义 HTML
  • 注意时机:必须等 table.render() 完成后再操作 DOM,否则容器还没生成;可在 done 里用 setTimeout(..., 0) 确保渲染完毕
  • 示例片段:
    done: function(res, curr, count){<br>  if(count === 0){<br>    var body = document.querySelector('.layui-table-box .layui-table-body');<br>    if(body) body.innerHTML = '<div class="layui-text-center" style="padding: 40px;">
    <i class="layui-icon layui-icon-face-smile"></i><p>暂无数据</p>
    <button class="layui-btn">去添加</button>
    </div>';<br>  }<br>}

使用 data 属性本地渲染时,emptyText 不出现

本地数据模式下,表格初始化时如果 data: [],emptyText 应该立即生效。但很多人发现它压根不显示,界面就是一片空白。

实操建议:

  • 确保 data 是一个真实空数组,不是 null、undefined 或字符串 "[]";Layui 对非数组类型会静默忽略
  • 检查是否误写了 cols 结构:如果 cols 里字段名和 data 数组元素的 key 对不上,Layui 可能无法正确识别数据为空,导致不触发空提示
  • 不要同时设置 url 和 data:两者互斥,Layui 优先走 url,data 会被无视
Layui 表格的空状态逻辑藏得深,关键不在怎么写提示文字,而在搞清它到底依赖哪个信号来判定“真·空”——是 count、是 data 长度、还是分页开关状态。这三个值对不上,文字写得再漂亮也出不来。
PHP速学视频免费教程(入门到精通)
PHP速学视频免费教程(入门到精通)

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

下载

相关标签:

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

相关专题

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

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

2023.08.11

2303

5

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

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

2023.10.09

4963

6

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

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

2024.03.19

6050

13

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

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

2024.03.22

5558

10

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

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

2024.05.22

783

5

LLVM自定义Pass怎么写
LLVM自定义Pass怎么写

本专题聚焦LLVM自定义Pass开发,整理Pass类结构、run()方法、PreservedAnalyses、CMake构建、插件注册、-load-pass-plugin加载和测试用例编写流程。

2026.09.30

80

10

LLVM RISC-V参数配置教程
LLVM RISC-V参数配置教程

本专题介绍LLVM对RISC-V基础ISA和扩展的支持方式,涵盖RV32、RV64、标准扩展、实验性扩展、厂商扩展、-menable-experimental-extensions和版本差异。

2026.09.30

80

14

LLVM IR中间表示入门指南
LLVM IR中间表示入门指南

本专题整理LLVM IR的核心概念,包括中间表示作用、模块结构、函数、基本块、SSA形式、类型系统和常见语法,帮助新手理解LLVM编译流程中的关键层。

2026.09.30

80

12

PDF转图片方法
PDF转图片方法

需要把 PDF 页面用于上传、预览、分享或图片归档时,PDF 转图片方法专题整理 JPG/PNG 格式选择、逐页导出、清晰度设置、批量下载和结果检查等流程,帮助用户稳定完成 PDF 图片化处理。

2026.09.30

60

26

热门下载

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

精品课程

更多
热门推荐
/
最新课程
phpStudy极速入门视频教程
phpStudy极速入门视频教程

共6课时 | 54.6万人学习

独孤九贱(4)_PHP视频教程
独孤九贱(4)_PHP视频教程

共89课时 | 133.4万人学习