我有一个<List>
组件。我正在构建一个功能:
<List>
中的特定行。它使用scrollToIndex
prop。document.getElementById('myId').scrollIntoView()
。如何确保在步骤(1)之后发生步骤(2)?
注意:我已经尝试了onRowsRendered()
但看起来并不总是在scrollTo
之后执行。
文档是here,但不幸的是我很困难。
编辑:如果以后有人遇到这个问题,我会在GitHub回购中找到有点的答案:
您传入的
onScroll
道具绑定到每次滚动时触发的htmlonscroll
事件。scrollToIndex
道具用于计算scrollTop
,然后在html元素上手动设置。
https://github.com/bvaughn/react-virtualized/issues/1077#issuecomment-381438215
答案 0 :(得分:1)
请参阅https://stackoverflow.com/a/41111505/5683904
Kết quả đánh giá tính hợp lệ của HSĐXTC
为了滚动到DOM(2)中的特定div
的document.getElementById(&#39; MYID&#39)。scrollIntoView()
你必须确保已经渲染了dom。
// Keep track of last scroll position
_lastScrollTop;
_cellRangeRenderer(props) {
this._rowSizeAndPositionManager = props.rowSizeAndPositionManager;
if (props.isScrolling === false && this._lastScrollTop !== props.scrollTop) {
// Only call this function if
this._lastScrollTop = props.scrollTop;
this.onAfterScroll();
}
return defaultCellRangeRenderer(props);
}
onAfterScroll(){
//Do what you want to do after scrolling has stopped.
}