table
table copied to clipboard
当有其他东西固定在底部的时候, Tabel 的 sticky 横向滚动条判断不准确,导致出现”无滚动条“ 现象
复现 demo :https://codesandbox.io/s/xuan-ze-he-cao-zuo-antd-5-1-6-forked-sp5e4n?file=/demo.tsx
https://github.com/react-component/table/blob/27a82412f3f7341a7a7d4898cbac1efb1addecbc/src/stickyScrollBar.tsx#L95 此行的逻辑是判断”用户是否看到了默认的横向滚动条“,但是例如 demo 那样,有时候我们需要将分页器等操作区固定在底部,导致有一定距离(这段距离等于分页器的高度)会挡住”默认的横向滚动条“,但是这一行代码没有判断这种情况,导致既看不到”默认的横向滚动条“又不渲染”虚拟的横向滚动条“,即出现”无滚动条“ 现象


希望可以在增加一个开放的 API : Table.sticky.offsetHide 即: https://github.com/react-component/table/blob/27a82412f3f7341a7a7d4898cbac1efb1addecbc/src/stickyScrollBar.tsx#L95
if (
- tableBottomOffset - getScrollBarSize() <= currentClientOffset ||
tableOffsetTop >= currentClientOffset - offsetScroll
) {
if (
+ tableBottomOffset - getScrollBarSize() + offsetHide <= currentClientOffset ||
tableOffsetTop >= currentClientOffset - offsetScroll
) {
例如我这个情况下,设置 offsetHide 等于 分页器高度,就可以完美解决(已通过 yarn link 调试成功,是可以完美解决的)
亦或者改变”判断用户是否看到默认滚动条“的逻辑,改为使用 IntersectionObserver 等方法来更精准的判断
不仅仅是分页区,以后遇到需要固定的任何底部操作区,都会依赖这个 API,希望大佬可以增加这个支持~万分感谢!!