关于 ant design 增加底部合计行方案 (一个歪门邪道的方法)

现在 ant design 在表格里已经增加了 summary API 可以实现底部合计功能;但由于 antd 提供的并不能实现固定在底部;antd 提供的 footer 倒是可以固定在底部,但它不会随滚动条滚动,所以小编在这里进行了一些改良;

刚开始接到这个需求的时候也是在网上查了一大堆,发现都不太符合目前 ui 需求 (其实是自己太菜看不懂。。。)

方法一: 思路:小编使用的是 footer API 通过设置 overflow:auto 使底部合计栏出现滚动条,然后通过控制一条滚动使另一条滚动条随之滚动即可

const warp = domWarp.current.getElementsByClassName("ant-table-body")[0];
const wrapBottom = domWarp.current.getElementsByClassName('ant-table-footer')[0]
warp.addEventListener("scroll",() => {
    wrapBottom.scrollLeft = warp.scrollLeft
},true)
复制代码

这样就可以了,然后就是设置底部合计栏每个div的宽度与上面表格内容对齐;

最后通过样式隐藏其中一条滚动条就好了 (此方案产生于2021.03.02)

方法二:思路:获取到合计的数据,将数据 push 到表格里面去, 然后将表格的最后一个元素设置 position:sticky 即可固定在底部( 注:一定要设置在 td 身上)

tr:last-child td {
   background: #fff;
   position: sticky;
   bottom: 0px;
   z-index: 1;
   box-shadow: 5px 0 10px #e4e4e4;
}
复制代码

效果如下:

(此方案产生于2021.03.09) 简单有效,不费性能

一个歪门邪道的前端提供的旁门左道方法


作者:一个只会旁门左道的前端
链接:https://juejin.cn/post/6937605583306489870
来源:掘金
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
posted @ 2021-03-07 09:53  tommy·L  阅读(3456)  评论(0编辑  收藏  举报