Skip to content

Commit 74a9767

Browse files
committed
feat: use ResizeObserver listen list size
1 parent b6dbeb0 commit 74a9767

File tree

1 file changed

+11
-0
lines changed

1 file changed

+11
-0
lines changed

lib/VirtualList.tsx

+11
Original file line numberDiff line numberDiff line change
@@ -209,6 +209,17 @@ export const VirtualList = forwardRef(function <ITEM>(
209209
}
210210
}
211211
}, [shouldScrollToIndex])
212+
// use ResizeObserver listen list size change
213+
useLayoutEffect(() => {
214+
const { ResizeObserver } = window
215+
const observer = ResizeObserver && new ResizeObserver(() => {
216+
setListSize(list.current!.clientHeight)
217+
})
218+
observer.observe(list.current as HTMLElement)
219+
return () => {
220+
observer?.disconnect()
221+
}
222+
}, [])
212223
//
213224
return <div ref={list} onScroll={handleScroll} className={props.className} style={{ overflow: 'auto', ...props.style }}>
214225
{props.renderHead?.()}

0 commit comments

Comments
 (0)