跳转到主内容
极星编程网:以代码为星,赴技术山海!

Layui表格怎么实现在分页工具条中显示自定义的提示语

layui table 分页自定义提示语需同时配置 page.count=false、parseData 中 return {count: n, data: [...]},并在 layout 中用 '共 data.count 条' 等插值字符串替换 'count'。 layui table 的
page
配置里怎么加自定义提示语 直接改
limits
或
limit
不起作用,真正控制分页工具条文字的是
page
对象里的
prev
、
next
、
jump
和
count
这几个字段,其中
count
是关键——它决定“共 xx 条”那段话是否显示、显示什么内容。 常见错误是只配了
page: true
或只改
limit
,结果提示语还是默认的“共 100 条”。其实
count
默认为
true
,但它的行为是:仅当后端返回了
count
字段时才渲染“共 x 条”,否则不显示。想强制显示自定义文案,得关掉自动逻辑,手动接管。
count: false
关闭默认计数显示,避免和自定义文案冲突 用
layout
数组把
count
换成自定义 HTML 片段,比如
'找到 data.count
条记录' 必须配合
parseData
提前从响应中提取真实总数,存到
data.count
里,否则
data.count
是 undefined 如何在
parseData
中提前拿到总条数并透传给 layout 后端返回的数据结构往往不是 layui 默认期待的
{count: 123, data: [...]}
,比如可能是
{total: 123, list: [...]}
,这时候不处理,
count
就拿不到,自定义文案就只能写死或留空。 解决方法是在
parseData
回调里把总数赋值给
res.count
(注意不是
res.data.count
),这样后续 layout 渲染时
data.count
才能取到值。 不要在
parseData
里改
res.data
的结构来迁就 layui,默认它只认
res.data
是数组就行 一定要 return {count: xxx, data: xxx},否则 layui 会忽略你设的 count 如果后端没返回总数(比如流式分页),
count
只能设为 0 或留空,此时建议 layout 里用“已加载
data.length
条”这类动态文案 用
layout
替换默认分页元素时的 HTML 注入细节
layout
是个字符串数组,顺序决定工具条上元素排列。默认是
['count', 'prev', 'page', 'next', 'limit', 'refresh', 'skip']
。要把“共 xx 条”换成自定义提示,就得把
'count'
换成一段带插值的 HTML 字符串。 这个字符串里能用的变量只有
data
对象的属性,比如
data.count
、
data.limit
、
data.curr
。别写
this.count
或
res.count
,都无效。 正确写法:
'共 data.count
条,当前第
data.curr
页' 错误写法:
'共 ${data.count} 条'
(ES6 模板字符串不支持) 如果要加样式,直接写内联 style 或 class,layui 不会帮你加 wrapper 容器 别漏掉
prev
、
next
等必要控件,否则翻页按钮消失 为什么改了 layout 还不生效?常见兼容性陷阱 最常踩的坑是:改了
layout
,也写了
parseData
,但提示语还是空白。大概率是三个地方没对齐:
page: {count: false}
忘了加,导致默认 count 和自定义文案同时渲染,后者被覆盖或错位
parseData
里没 return 新对象,或者 return 的对象没带
count
字段(哪怕值是 0) 表格重载时(比如
table.reload()
)没同步传入新的
page
和
parseData
配置,旧配置还在用 用了 layui 2.8+,但文档看的是老版本,新版本要求
layout
中的自定义字符串必须包含至少一个
data.xxx
插值,否则会被过滤掉 复杂点在于:提示语内容依赖后端响应结构、前端解析逻辑、layout 渲染时机三者严格匹配。少一个环节,就只剩空白。

相关文章