news 2026/9/3 12:08:19

Layui 表格合计行:3 步搞定 totalRow 配置

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Layui 表格合计行:3 步搞定 totalRow 配置

Layui 表格合计行:3 步搞定 totalRow 配置

【免费下载链接】layui一套遵循浏览器原生态开发模式的 Web UI 组件库。项目地址: https://gitcode.com/GitHub_Trending/la/layui

Layui 表格组件内置表格合计行功能。开启 totalRow 后,表格底部自动累加数字列,还支持自定义文本与模板,报表统计不用再手写循环。

功能速览:2 个层级、3 种列级取值

合计行配置分两层:表级负责开关,列级负责每列怎么统计。

层级配置位置说明
表级开关table.rendertotalRow设为true才渲染合计行;传对象可直接写入服务端统计值
列级-布尔列配置的totalRow: true自动对该列数字求和
列级-字符串列配置的totalRow: '合计:'输出固定文本
列级-模板列配置传 Laytpl 模板可引用d.TOTAL_NUMS(本列和)做富文本

列级布尔和字符串可以混用:同一张表里,积分列自动求和,ID 列显示"合计:",完全由各自配置决定。

三步上手

第 1 步:表级一行开启

在渲染参数里加一个totalRow: true,合计行立即出现。

table.render({ elem: '#test', url: '/api/list', totalRow: true // 开启合计行 });

第 2 步:配置列统计

只对需要统计的列加列级totalRow,其余列自动留空。

cols: [[ { field: 'id', title: 'ID', totalRow: '合计:' }, { field: 'experience', title: '积分', totalRow: true }, { field: 'sign', title: '签名', totalRow: '{{= parseInt(d.TOTAL_NUMS) }} 次' } ]]

第 3 步:验证效果

刷新页面,看表格底部多出的最后一行:积分列应显示各行之和,签名列显示模板渲染的文本。本地数据跑一遍 tests/visual/table.html 里的示例即可对照。

进阶玩法

合计行联动单元格编辑

给列加edit: 'text'后,用户改完数据,合计行会跟随变化。

  • 编辑成功统一走obj.update(),它会触发局部重渲染
  • 重渲染时表格会重新执行一遍求和逻辑
  • 不要在事件里手动改合计行的 DOM,避免和自动计算打架
table.on('edit(test)', function(obj){ obj.update({ [obj.field]: obj.value }); // 成功后合计自动重算 });

跨页总计走服务端

本地求和只统计当前页数据。需要全量总计时,让后端把结果随接口返回。

  • 响应里带totalRow字段(对应response.totalRowName),值为各字段的总计
  • 列级模板引用d.TOTAL_ROW.字段名输出
  • 服务端值优先于本地求和,两者不冲突
// 服务端 res: { totalRow: { experience: 12345 } } { field: 'experience', title: '积分', totalRow: '{{= d.TOTAL_ROW.experience }}' }

避坑指南

现象原因解决办法
合计行不显示漏了表级totalRow: true,只配了列级补上表级开关,两层缺一不可
合计显示 0 或空白字段是字符串或含非数字内容,parseFloat失败换数字字段,或用模板对TOTAL_NUMS自行加工
合计带出多余小数求和结果默认按 2 位小数格式化列级设totalRowDecimals,或模板里parseInt取整

参数速查

属性类型默认值说明
totalRow(表级)boolean / objectfalse合计行开关;传对象写入服务端统计值
totalRow(列级)boolean / string-true 自动求和;字符串为固定文本或模板
totalRowText(列级)string-求和结果附带的前缀文本(部分版本支持)
totalRowDecimals(列级)number2求和结果保留的小数位数

延伸文档

  • tests/visual/table.html:表格功能演示页,含合计行示例数据
  • src/components/table.js:合计行渲染与求和的源码实现

现在就在你的 table.render 里加上totalRow: true,给数据表配上合计行。

【免费下载链接】layui一套遵循浏览器原生态开发模式的 Web UI 组件库。项目地址: https://gitcode.com/GitHub_Trending/la/layui

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/9/3 12:03:04

Discuz论坛隐藏内容回复增强插件:防灌水与社区运营实战指南

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

作者头像 李华
网站建设 2026/9/3 12:01:54

Mesh Bevel节点实战:Blender硬表面建模的倒角革命

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

作者头像 李华
网站建设 2026/9/3 12:01:21

学习机芯片解析:从RK3399到RK3588,作业帮学习机的硬件底牌

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

作者头像 李华
网站建设 2026/9/3 12:01:16

MATLAB实现BiLSTM多特征时序分类:从原理到工程实践

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

作者头像 李华