virtual-list
virtual-list copied to clipboard
🧾 React Virtual List Component which worked with animation
We get an error reported from sentry as shown in title. This line of List.ts requires a null check on listRef.current: ``` var clientHeight = _this.listRef.current.clientHeight; ```
I have a virtualList, which has nested virtual list, how can i scroll to element in the nested virtual list
The data changes frequently, but the scrollTop is still the last set, and the start and end calculations may be exceptions 
This component use 'Number.isNaN' without judgement or rewriting at [code](https://github.com/react-component/virtual-list/blob/master/src/List.tsx#L199) Suggest to consider this.
如题,现在新版的新浪微博用的是 vue,他也用了 virtual-list 这种功能,主体内容部分不需要设置固定的高度,还是使用浏览器的滚动条,信息流区域没有自己的滚动条。 和这个功能类似:https://bvaughn.github.io/react-virtualized/#/components/WindowScroller 还有这个:https://bvaughn.github.io/react-virtualized/#/components/Masonry 不过要勾选里面的一个选项 Use WindowScroller? 为啥不直接用上在的库呢,他太大了,想要个轻量的,希望可以采纳。
Is it possible to have a dynamic line height or am I overlooking the feature? What I would like to have: ```tsx const dynLineHeight = (row: any, index: number) =>...
由于传入的height不是一个固定值,所以想要实现在屏幕resize的时候更新height入参,将height作为state来维护,改变屏幕高度时,会出现js报错问题,不是必现,但是大概率可复现。
fix ant-design/ant-design#45935,是否出现滚动条的依据应该是实际渲染的列表高度是否超过给定高度
复现步骤: 1. 修改 examples 中 height 例子,将 data 数据调整为 10 条,目前能够滚动,但是没有滚动条 2. 调整逻辑后滚动条正常显示 相关 issue:https://github.com/ant-design/ant-design/issues/45935
复现地址:[codesandbox](https://codesandbox.io/p/sandbox/xu-ni-lie-biao-antd-5-15-3-forked-cpjj9l?file=%2Fdemo.tsx%3A10%2C11&layout=%257B%2522sidebarPanel%2522%253A%2522EXPLORER%2522%252C%2522rootPanelGroup%2522%253A%257B%2522direction%2522%253A%2522horizontal%2522%252C%2522contentType%2522%253A%2522UNKNOWN%2522%252C%2522type%2522%253A%2522PANEL_GROUP%2522%252C%2522id%2522%253A%2522ROOT_LAYOUT%2522%252C%2522panels%2522%253A%255B%257B%2522type%2522%253A%2522PANEL_GROUP%2522%252C%2522contentType%2522%253A%2522UNKNOWN%2522%252C%2522direction%2522%253A%2522vertical%2522%252C%2522id%2522%253A%2522clu6nj6sz0006356h70zk1ngo%2522%252C%2522sizes%2522%253A%255B100%252C0%255D%252C%2522panels%2522%253A%255B%257B%2522type%2522%253A%2522PANEL_GROUP%2522%252C%2522contentType%2522%253A%2522EDITOR%2522%252C%2522direction%2522%253A%2522horizontal%2522%252C%2522id%2522%253A%2522EDITOR%2522%252C%2522panels%2522%253A%255B%257B%2522type%2522%253A%2522PANEL%2522%252C%2522contentType%2522%253A%2522EDITOR%2522%252C%2522id%2522%253A%2522clu6nj6sz0002356h5myr0szw%2522%257D%255D%257D%252C%257B%2522type%2522%253A%2522PANEL_GROUP%2522%252C%2522contentType%2522%253A%2522SHELLS%2522%252C%2522direction%2522%253A%2522horizontal%2522%252C%2522id%2522%253A%2522SHELLS%2522%252C%2522panels%2522%253A%255B%257B%2522type%2522%253A%2522PANEL%2522%252C%2522contentType%2522%253A%2522SHELLS%2522%252C%2522id%2522%253A%2522clu6nj6sz0003356hmj2gt0ak%2522%257D%255D%252C%2522sizes%2522%253A%255B100%255D%257D%255D%257D%252C%257B%2522type%2522%253A%2522PANEL_GROUP%2522%252C%2522contentType%2522%253A%2522DEVTOOLS%2522%252C%2522direction%2522%253A%2522vertical%2522%252C%2522id%2522%253A%2522DEVTOOLS%2522%252C%2522panels%2522%253A%255B%257B%2522type%2522%253A%2522PANEL%2522%252C%2522contentType%2522%253A%2522DEVTOOLS%2522%252C%2522id%2522%253A%2522clu6nj6sz0005356hsejn79wk%2522%257D%255D%252C%2522sizes%2522%253A%255B100%255D%257D%255D%252C%2522sizes%2522%253A%255B50%252C50%255D%257D%252C%2522tabbedPanels%2522%253A%257B%2522clu6nj6sz0002356h5myr0szw%2522%253A%257B%2522id%2522%253A%2522clu6nj6sz0002356h5myr0szw%2522%252C%2522tabs%2522%253A%255B%257B%2522id%2522%253A%2522cluavyy9z0002356heptgsj6m%2522%252C%2522mode%2522%253A%2522permanent%2522%252C%2522type%2522%253A%2522FILE%2522%252C%2522initialSelections%2522%253A%255B%257B%2522startLineNumber%2522%253A10%252C%2522startColumn%2522%253A11%252C%2522endLineNumber%2522%253A10%252C%2522endColumn%2522%253A11%257D%255D%252C%2522filepath%2522%253A%2522%252Fdemo.tsx%2522%252C%2522state%2522%253A%2522IDLE%2522%257D%255D%252C%2522activeTabId%2522%253A%2522cluavyy9z0002356heptgsj6m%2522%257D%252C%2522clu6nj6sz0005356hsejn79wk%2522%253A%257B%2522id%2522%253A%2522clu6nj6sz0005356hsejn79wk%2522%252C%2522activeTabId%2522%253A%2522cluavxmf00016356hunzcdfey%2522%252C%2522tabs%2522%253A%255B%257B%2522type%2522%253A%2522UNASSIGNED_PORT%2522%252C%2522port%2522%253A0%252C%2522id%2522%253A%2522cluavxmf00016356hunzcdfey%2522%252C%2522mode%2522%253A%2522permanent%2522%252C%2522path%2522%253A%2522%252F%2522%257D%255D%257D%252C%2522clu6nj6sz0003356hmj2gt0ak%2522%253A%257B%2522tabs%2522%253A%255B%255D%252C%2522id%2522%253A%2522clu6nj6sz0003356hmj2gt0ak%2522%257D%257D%252C%2522showDevtools%2522%253Atrue%252C%2522showShells%2522%253Afalse%252C%2522showSidebar%2522%253Atrue%252C%2522sidebarPanelSize%2522%253A15%257D) 复现步骤: 1. 鼠标放到虚拟滚动列表里 2. 按住 shift 滚动滚轮 3. 浏览器报错 Warning: `NaN` is an invalid value for the `marginLeft` css style property. 