不能直接设 page: false,否则会彻底关闭分页逻辑,导致全量渲染、不发分页请求、reload 无法按页切数据;应通过隐藏 .layui-table-page 元素实现 UI 层面隐藏,且需在 done 回调或导出前后动态控制显隐。
为什么不能直接设 page: false
设 page: false 会彻底关闭分页逻辑:数据全量渲染、不发带 page/limit 的请求、table.reload() 也不再按页切数据。如果你依赖服务端分页(比如查 100 万条只取第 5 页),这一步就废了整个分页链路。
正确做法:用 CSS 隐藏 .layui-table-page
分页栏是独立 DOM 容器,类名固定为 .layui-table-page,它和分页逻辑解耦。隐藏它不影响请求、参数或数据切片,只是 UI 不见了。
- 推荐在
done回调里执行:$('.layui-table-page').hide();,确保 DOM 已生成 - 若全局统一处理,加 CSS:
.layui-table-page { display: none !important; }(!important必须,否则被 Layui 内联样式覆盖) - 别用
visibility: hidden—— 它占布局空间,表格底部会留白 - 绝对不要
.remove(),Layui 内部靠这个节点绑定翻页事件,删了点击无效
table.reload() 后分页栏又出来了怎么办
每次 table.reload() 都会重新渲染整个表格 DOM,包括 .layui-table-page。所以隐藏操作必须重做。
- 如果用
done回调隐藏,reload 时也要传done,里面再写一遍$('.layui-table-page').hide(); - 如果用全局 CSS,就不用重复操作,但得确认没被其他样式干扰(比如某个 tab 切换后动态加载 CSS 导致失效)
- 别在
init或render前尝试操作,那时.layui-table-page还没生成
导出 PDF/Excel 时分页栏又混进去了
table.exportFile() 默认截整个 .layui-table-box 区域,分页栏只要还在 DOM 里,就可能被截进去。
- 导出前执行:
$(".layui-table-page").hide(); - 导出回调里立刻恢复:
$(".layui-table-page").show(); - PDF 导出易错位,加两行兜底:
$(".layui-table-box").css("padding-bottom", "40px");和$(".layui-table-box").css("overflow", "visible"); - 别依赖
.layui-hide类,它可能被其他模块复用,导致误隐藏


















