alibaba / ali-react-table

Performent, flexible and modern React table component.
https://ali-react-table.js.org/
MIT License
956 stars 312 forks source link

fix:开启虚拟滚动,中间区域可显示的列由于列宽过长被计算成虚拟列,没有正确显示 #309

Open wqhui opened 2 years ago

wqhui commented 2 years ago

在虚拟滚动中,计算横向可展示内容的函数getHorizontalRenderRange中,会根据当前的列宽判断是否显示: https://github.com/alibaba/ali-react-table/blob/847cc650b5e0e30e6ea05cf3d30cd5fc5be4515a/packages/ali-react-table/src/base-table/calculations.tsx#L117-L126

但是在当前列宽过长时,也就是当前的列宽>表格剩余可显示宽度,这里的判断会直接将这列并入虚拟列,导致表格应该展示的列没有展示出来:

image

这里将其修改为表格上次计算存在剩余宽度,则当前列就应该显示

bug复现示例:https://codesandbox.io/s/xu-ni-lie-qing-kuang-xia-shou-lie-kuan-du-guo-chang-wu-nei-rong-zhan-shi-17ucgx