layui模板语言,渲染表格分组合并行
接到需要渲染表格全部内容的同时,根据相同分类合并行达到下面的效果
难点在于layui模板语言代码阅读性不高,html 的table合并仅第一行rowspan后续不需要添加该列,需要进行数量判断,有多行或者仅一行的判断.
1首先对数据进行分组
js:
let groupList =groupBy(res.data.AIKuQuoteList, function (item) {return [item.报价分类];//按照name进行分组});function groupBy(array, f) {debugger;const groups = {}; array.forEach(function (o) { //注意这里必须是forEach 大写const group = JSON.stringify(f(o));groups[group] = groups[group] || [];groups[group].push(o);});return Object.keys(groups).map(function (group) {return groups[group];}); }
2.分组之后会以分组字段的值为键,组成一个层级结构,进行渲染
关键在于集中查看代码是否缺漏,其次是三个判断,分组里数量大于1,是第一个则渲染rowspan,大于1不是0下标则不渲染合并列,其他情况正常渲染
<tbody class="thead">{{# layui.each(d, function(index, item){ }}{{# var slength=item.length; }}{{# layui.each(item,function (i,it){ }}{{# if(index!=d.length-1&&it.lineType=="明细"){ }}{{# if(slength>1&&i==0){ }}<tr><td>{{ it.空间名称 }}</td><td>{{ it.产品名称 }}</td><td rowspan='{{slength}}'>{{ it.报价分类 }}</td><td>{{ it.明细序号 }}</td><td>{{ it.部件名称 }}</td><td>{{ it.宽 }}</td><td>{{ it.深 }}</td><td>{{ it.高 }}</td><td>{{ it.数量 }}</td><td>{{ it.材料 }}</td><td>{{ it.颜色 }}</td><td>{{ it.单位 }}</td><td>{{ it.单位数 }}</td><td>{{ it.工艺费 }}</td><td>{{ it.单价 }}</td><td>{{ it.金额 }}</td><td>{{ it.折扣 }}</td><td>{{ it.折后金额 }}</td></tr>{{# }else if (slength>1){ }}<tr><td>{{ it.空间名称 }}</td><td>{{ it.产品名称 }}</td><td>{{ it.明细序号 }}</td><td>{{ it.部件名称 }}</td><td>{{ it.宽 }}</td><td>{{ it.深 }}</td><td>{{ it.高 }}</td><td>{{ it.数量 }}</td><td>{{ it.材料 }}</td><td>{{ it.颜色 }}</td><td>{{ it.单位 }}</td><td>{{ it.单位数 }}</td><td>{{ it.工艺费 }}</td><td>{{ it.单价 }}</td><td>{{ it.金额 }}</td><td>{{ it.折扣 }}</td><td>{{ it.折后金额 }}</td></tr>{{# }else{ }}<tr><td>{{ it.空间名称 }}</td><td>{{ it.产品名称 }}</td><td>{{ it.报价分类 }}</td><td>{{ it.明细序号 }}</td><td>{{ it.部件名称 }}</td><td>{{ it.宽 }}</td><td>{{ it.深 }}</td><td>{{ it.高 }}</td><td>{{ it.数量 }}</td><td>{{ it.材料 }}</td><td>{{ it.颜色 }}</td><td>{{ it.单位 }}</td><td>{{ it.单位数 }}</td><td>{{ it.工艺费 }}</td><td>{{ it.单价 }}</td><td>{{ it.金额 }}</td><td>{{ it.折扣 }}</td><td>{{ it.折后金额 }}</td></tr>{{# } }}{{# } }}{{# }); }}{{# }); }}<tr><td colspan="16"></td><td>合计</td><td>{{ d[d.length-2][0].总计 }}</td></tr></tbody>
layui模板语言,渲染表格分组合并行相关推荐
- LayUI模板引擎渲染数据
前端模板引擎介绍 接上节Spring boot项目开发实战--(LayUI实现前后端数据交换与定义方法渲染数据) 模板引擎能简化开发,极大提高效率,小编之前使用过JSP和Thymeleaf,以及pyt ...
- 用layui 模板,数据表格展示 图片,
1.1 layui数据表格展示图片的基础使用 js <script> layui.use(['tree', 'util','upload','table'], function(){var ...
- 第三百一十节,Django框架,模板语言
第三百一十节,Django框架,模板语言 模板语言就是可以将动态数据在html模板渲染的语言 一.接收值渲染 locals()函数,写在请求响应render()函数里,可以将逻辑处理函数里的变量传到h ...
- 第二百五十八节,Tornado框架-逻辑处理get()方法和post()方法,初识模板语言
Tornado框架-逻辑处理get()方法和post()方法,初识模板语言 Tornado框架,逻辑处理里的get()方法,和post()方法 get()方法,处理get方式的请求 post()方法, ...
- Layui --- [Mar]给渲染后的表格加CSS样式
为什么要控制样式 使用layui生成后的表格的样式有时候,并不能满足我们的需求.因此在渲染完成后,需要自定义类对其操作 Layui表格渲染后一般会出现以下结构 分结构如下 我把使用layui的tabl ...
- Layui中的数据表格渲染
学习前端代码的朋友们应该都有所闻layui这个框架,这是一款遵循原生 HTML/CSS/JS 的书写与组织形式,门槛极低,拿来即用的前端 UI 框架.如果有需要可以通过官网下载得到,使用起来也极其方便 ...
- iview的表格自定义_Vue中使用iview-UI表格样式修改和使用自定义模板数据渲染相关...
项目前台页面用的iview-UI,下面对表格相关的样式修改和数据渲染进行一下总结 数据渲染相关 正常渲染 直接从教程中拿出来的组件代码: columns中填写的数据必须是一个数组,代表的是表头相关,常 ...
- R语言ggplot2可视化:使用patchwork包(直接使用加号+)将一个ggplot2可视化结果和数据表格横向组合起来形成最终结果图
R语言ggplot2可视化:使用patchwork包(直接使用加号+)将一个ggplot2可视化结果和数据表格横向组合起来形成最终结果图 目录
- layui中的数据表格-自定义模板
layui中的数据表格-自定义模板<script>layui.use('table', function () {var table = layui.table;//第一个实例table. ...
- html 开发中遇到的问题,ajax异步传输,layui模板引擎并重新渲染
1.实际中自己遇到的,比较杂乱 绑定点击事件 绑定enter事件 html A页面跳转到B页面,并传参.取值 layui模板引擎,渲染样式 Ajax 异步传输数据,动态更新内容 绑定点击事件 < ...
最新文章
- 什么是BP神经网络?
- 全长转录组之基因和转录本鉴定
- 白书P61 - 点集配对问题
- D3ctf-D3MUG(u3d
- 史上最全PHP正则表达式实例汇总
- 前端学习(805):简单数据类型和复杂数据类型
- 十进制转二进制 java 程序_如何把一个十进制数转为二进制数的Java程序?
- ajax返回的数据怎么显示出来_Excel输入汉字、拼音首字母就能显示数据出来,录数据时逐步提示...
- android toolbar 颜色渐变,android – 如何使渐变形状留在CollapsingToolbarLayout标题后面...
- c 语言赋值运算符,C/C+编程笔记:运算符—所有编程语言的基础!一文带你搞懂它...
- 微信小程序input禁止输入特殊符号
- 计算机英语论文摘要,★计算机英语论文摘要范文计算机英语论文摘要写(9页)-原创力文档...
- excel如何把多张表合并成一个表_excel如何快速把多个工作表合并到一个excel表
- 系统调用ptrace和进程跟踪
- Power BI Desktop 微软官方入门教程
- 提交模式窗口后,刷新父窗口数据+获取frameset中各模块中数据
- qt网络编程及readyread信号
- redis清空所有数据 php
- 亲子操打开孩子感官能力
- a different object with the same identifier value was already associated with the session错误