表格多级合并行

发布于 2022-09-13 01:12:37 字数 3492 浏览 36 评论 0

后端返回数据结构(树形结构)
image.png
目前用的UI框架是antv,我看了下官网的合并不太适用,所以采用的原生table循环,但没有完全实现
如图
image.png
二级指标那里循环不出来

期待效果:
image.png

代码如下:

<template v-for="item in tableInfo.data" >
                                            <template v-if="item.list && item.list.length">
                                                <template v-for="(item1, index1) in item.list">
                                                    <tr :key="index1">
                                                        <td v-if="index1 === 0" :rowspan="formatRowSpan(item)">{{item.libraryName}}</td>
                                                        <td v-if="index1 === 0" :rowspan="formatRowSpan(item)">{{item.value}}</td>
                                                        <template v-if="item1.list && item1.list.length > 1">
                                                            <td :rowspan="item1.list.length">{{item1.libraryName}}</td>
                                                            <td :rowspan="item1.list.length">{{item1.value}}</td>
                                                            <td >{{item1.list[0].libraryName}}</td>
                                                            <td>{{item1.list[0].value}}</td>
                                                            <td >检测预处理站实际污水输送流量,用以反映和考核污水输送流量控制情况。</td>
                                                        </template>
                                                    </tr>
                                                    <template v-for="(item2, index2) in item1.list">
                                                        <tr  v-if="index2 !== 0"  :key="`child_${index2}`">
                                                            <td >{{item2.libraryName}}</td>
                                                            <td>{{item2.value}}</td>
                                                            <td >检测预处理站实际污水输送流量,用以反映和考核污水输送流量控制情况。</td>
                                                    </tr>
                                                    </template>
                                                </template>
                                            </template>
                                            <template v-else>
                                                <tr :key="item.id">
                                                    <td>{{item.libraryName}}</td>
                                                    <td>{{item.value}}</td>
                                                    <td >-</td>
                                                    <td >-</td>
                                                    <td>-</td>
                                                    <td>-</td>
                                                    <td>-</td>
                                                </tr>
                                            </template>
                                        </template>

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文