不能。设 page: false 会彻底关闭分页逻辑,表格一次性渲染全部数据;若需服务端分页,必须保留分页逻辑,仅用 css 隐藏 .layui-table-page 或调整 page.layout 移除 skip。

layui table 分页条能用 page: false 关掉吗
不能。设 page: false 是彻底关闭分页逻辑:表格会一次性请求并渲染全部数据,不再发送带 page 和 limit 的请求,也不做前端切片。如果你仍需服务端分页(比如查 10 万条只取第 2 页),就不能关它——否则后端收不到分页参数,返回的还是全量或默认前 10 条。
真正“去掉分页条”只能靠 CSS 隐藏 .layui-table-page
分页条是独立 DOM 容器,类名固定为 .layui-table-page,渲染完成后才插入。隐藏它不影响任何分页行为,只是 UI 不见了。
- 推荐在
done回调里执行:$('.layui-table-page').hide(),确保 DOM 已就绪 - 全局统一处理可加样式:
.layui-table-page { display: none !important; },!important是必须的,Layui 内联样式会覆盖普通声明 - 别用
visibility: hidden—— 它占位,表格底部会留白 - 千万别用
.remove()或.empty()—— Layui 内部靠这个节点绑定翻页事件,删了点击按钮就完全没响应
想只隐藏“到第几页”输入框,直接删 layout 里的 skip
如果只是不想看到右侧那个跳转输入框,最干净的做法是修改 page.layout,把 skip 从数组里去掉:
page: {
layout: ['count', 'prev', 'page', 'next', 'limit', 'refresh'] // 没有 skip
}
这样 DOM 根本不生成,没有隐藏副作用,也不会因 table.reload() 而意外重现。旧版 Layui 2.5.x 不支持此写法,得升级到 2.8+ 才生效。
手动插入按钮或动态算 limit 时,分页条还在就得小心
哪怕你用 done 回调往分页栏里插按钮,或根据容器高度重算 limit,只要分页条还显示着,这些操作就可能被它的 DOM 结构干扰。
- 插按钮必须等
.layui-table-page渲染完成,所以要用setTimeout(..., 10)延迟执行 - 动态算
limit时,如果分页条可见,它的高度(约 48px)必须从容器高度里减掉,否则行数会少算一两行 - 所有依赖分页栏 DOM 的操作,都得加存在性判断,比如
if (pageWrap && !pageWrap.querySelector('.my-btn'))
分页条不是装饰品,它是 Layui 分页机制的视觉锚点;藏它容易,动它要格外注意时机和依赖关系。











