美文网首页
html表格自动合并

html表格自动合并

作者: GoddyWu | 来源:发表于2018-02-08 12:15 被阅读0次
万恶的产品设计一个动态表格合并的功能,曾经实现了一版运用js进行dom元素的拼接,发现代码量好大,
后来产品再次设计了类似表格,复用之前代码感觉心好累,所以我就花十分钟仔细想了下,得出下面的解决方案。
最终效果为 https://goddywu.github.io/html/demo/table_combine.html
源码地址 https://github.com/Goddywu/html/blob/master/demo/table_combine.html

场景

想象一个情景,我们需要记录用户的操作,并展示出来,用户在相邻时间点做的同样操作,我们希望它们占据同一个格子。

思路

  • 如果我们希望做一个3X2的表格,第二列合并前两格,那么我们的HTML代码将是
<table>
  <tr>
    <td>1行1列</td>
    <td rowspan="2">第2列前两格</td>
  </tr>
  <tr>
    <td>2行1列</td>
  </tr>
  <tr>
    <td>3行1列</td>
    <td>3行2列</td>
  </tr>
<table>
  • 观察需要合并的第二列,合并前我们每个行元素tr内需要有第二列的td元素,假设1代表存在,那么第二列的td存在情况为 [1, 1, 1]
  • 观察合并后的第二列的td元素存在情况,为 [1, 0, 1]
  • 如果将rowspan的值代替掉第一个td元素,那么我们得到的数组为 [2, 0, 1],数组名称设置为temp
  • 有了这个数组就好办了,我们可以用vue的v-on绑定rowspan,用v-if来去掉例如第二行不需要的第二个td元素。
  • 数据为
#已知数据
data = [
  ['2018-01-01', '买包子'],
  ['2018-01-02', '吃包子'],
  ['2018-01-03', '吃包子']
]
#我们需要计算出的数组
array = [2, 0, 1]
  • 我们的代码将是
<table>
  <tr v-for='(i, index) in data'>
    <td>
      {{i[0]}}
    </td>
    <td v-if='temp[index] != 0'>
      {{i[1]}}
    </td>
  </tr>
</table>

接下来,就是核心:如何得出数组array

思路:

建立一个temp作缓存变量,count作为计数器,遍历data数组,如果值与temp相同,则计数器加1,如果不同,则temp值赋值为当前值,并且计数器重置。

所有代码戳链接

参考资料

相关文章

  • html表格自动合并

    场景 想象一个情景,我们需要记录用户的操作,并展示出来,用户在相邻时间点做的同样操作,我们希望它们占据同一个格子。...

  • table 样式

    表格常见 CSS 样式设置 一、 相关属性 合并表格的属性 (HTML 属性)colspan="number" /...

  • html基础

    HTML表格 定义表格的标签 定义表格若干行 定义表格的表头 定义表格的若干单元格 border 表格属性 合并...

  • HTML基础

    HTML表格 定义表格的标签 定义表格若干行 定义表格的表头 定义表格的若干单元格 border 表格属性 合并...

  • HTML:表格实现

    作业内容 说明以下表格是如何实现的: 知识点:HTML 表格 表格标签 合并属性 边框属性 思路 如图实现思路: ...

  • ## HTML基础-列表标签/表格标签

    ## HTML基础-列表标签/表格标签 # 列表标签(无序列表/有序列表/定义列表) # 表格标签 # 单元格合并...

  • Day2:html和css

    Day2:html和css 表格是一种常用的标签,表格结构,做到能够合并单元格. 表格的属性: 如何创建表格: 表...

  • HTML之创建表格

    要求:用HTML实现如下所示的表格 对于初学者而言当看到这个表格的时候会不会有点懵呢?表头又是行合并,又是列合并的...

  • html表格

    表格 用 添加一个表格 表格合并 横向合并:colspan="2"纵向合并:rowspan="2" 注意把合并掉多...

  • table布局方式与div+css布局的区别细讲

    表格布局(table): table表格拆分合并(colspan、rowspan) colspan横向合并表格必须...

网友评论

      本文标题:html表格自动合并

      本文链接:https://www.haomeiwen.com/subject/giuazxtx.html