V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
superbai
V2EX  ›  程序员

antd vue 如何将相同的展示多列 key 相同的数据?

  •  
  •   superbai · 2022-09-21 13:42:55 +08:00 · 934 次点击
    这是一个创建于 792 天前的主题,其中的信息可能已经有所发展或是发生改变。

    比如:现在有一张学生信息表,存储了学生的学号、姓名、班级、年级、校区等信息。在表格中想这样展示:

    第一行表头:校区

    第二行表头:在校区下细分年级

    第三行表头:在年级下细分班级

    第四行表头:在班级下细分学号、姓名

    类似这样: 示例

    数据是使用 MongoDB 存储的,每条记录都是存储了一个学生的校区、年级、班级、学号和姓名信息,取出来的时候 key 也是相同的。如何使用 antd vue 版本实现这个效果?

    yaphets666
        1
    yaphets666  
       2022-09-21 13:46:04 +08:00
    一般没这么弄的,校区,年级,班级,这都是查询条件,表格的表头只有一行,学号,姓名,校区,年级,班级
    Junn
        2
    Junn  
       2022-09-21 13:50:10 +08:00
    table 嵌套吧
    timedivision
        3
    timedivision  
       2022-09-21 14:06:59 +08:00
    一楼合理,你这样搞反而很乱,建议改设计
    superbai
        4
    superbai  
    OP
       2022-09-21 14:53:34 +08:00
    @yaphets666 #1
    @timedivision #3 我举得这个例子可能不太恰当,真实的场景是分组之后的数据是可比的,需要把数据放在不同列同一行对比着看
    lybcyd
        5
    lybcyd  
       2022-09-21 16:28:02 +08:00
    你这个表有点像数据透视表,antd vue 自带的表格不是针对这种场景设计的,硬要拼成这种数据结构会很难受。建议先把数据分好组,lodash 的 groupby 或者自己写一个,直接手动渲染 table ,然后抄一下 antd 的表格样式套进去。
    Sendya
        6
    Sendya  
       2022-09-21 16:55:15 +08:00
    @superbai #4 那就两个表格 在栅格行对齐
    superbai
        7
    superbai  
    OP
       2022-09-21 17:24:24 +08:00
    @Junn #2 看了下,table 嵌套应该不是解决这类问题的
    superbai
        8
    superbai  
    OP
       2022-09-21 17:24:47 +08:00
    @lybcyd #5 感谢思路,我试试
    superbai
        9
    superbai  
    OP
       2022-09-21 17:25:55 +08:00
    @Sendya #6 不好意思,请问栅格行对齐具体是指?
    yaphets666
        10
    yaphets666  
       2022-09-21 17:46:20 +08:00
    @superbai 如果必须要是这种表格,antdv 的表格恐怕很难胜任,5 楼说的自己开发一个组件是个不错的选择。
    superbai
        11
    superbai  
    OP
       2022-09-21 18:30:02 +08:00
    @yaphets666 #10 感谢回复,看来是没有现成的解法,我试试自己简单开发一个
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   3317 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 24ms · UTC 04:50 · PVG 12:50 · LAX 20:50 · JFK 23:50
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.