重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
背景
创新互联客户idc服务中心,提供眉山服务器托管、成都服务器、成都主机托管、成都双线服务器等业务的一站式服务。通过各地的服务中心,我们向成都用户提供优质廉价的产品以及开放、透明、稳定、高性价比的服务,资深网络工程师在机房提供7*24小时标准级技术保障。
现实中会遇到很多需求,合并列,例如要显示一个名学生的各门课程成绩。
html实现
使用html实现是比较简单的,利用table标签的rowspan属性即可,代码如下:
姓名 | 课程数 | 课程名称 | 成绩 |
---|---|---|---|
张三 | 3 | 语文 | 100 |
数学 | 90 | ||
英语 | 80 |
数据结构
在实际工程中,表格数据一般来自后端,以json格式发送到前端后,学生和课程是一对多的关系,json格式数据结构如下:
[ { name: '张三', courses: [ { name: '语文', score: '100' }, { name: '数学', score: '90' }, { name: '英语', score: '80' } ] } ]
Vue实现
我们对比表格结构和json数据结构,分析出结论如下:
1.实际上每个课程对应表格的一行
2.如果是第一列第二列(学生姓名、学生课程数),则应设置其rowspan值为该学生拥有的课程数
3.如果是第一列第二列,则每个学生只需要输出1次该列,因为需要按学生合并列后展示。
分析完1-3条后,代码实现也就简单了:
姓名 课程数 课程名称 成绩 {{item.name}} {{item.courses.length}} {{m.name}} {{m.score}}
效果:
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持创新互联。