react-smooth-scrollbar以编程方式更改滚动位置?

时间:2018-01-05 00:04:06

标签: smooth-scrolling

我正在使用idiotWu的滚动条到目前为止效果很好:

https://github.com/idiotWu/react-smooth-scrollbar

我接下来需要做的是在我的反应项目中,我需要以编程方式更改滚动位置。在我的项目中,当我因为我正在做的一些事情再次触发reactComponent.render()时,我需要回滚到<Scrollbar />的顶部。我没有在文档中看到有关如何执行element.scrollTop()<Scrollbar scrollPosition={0} />等内容的任何提及。

我尝试手动设置<div class="scroll-content">的转换translate3d,但这不起作用,因为滚动条在某处保存了它的滚动位置值,我不知道如何访问它。

如何将滚动重置为开头?或者,我如何说明滚动位置?

修改 我也试过了其中的每一个,但它们都没有产生我想要的结果

export default class MyClass extends React.Component {
    render() {

        document.getElementById('panel').setPosition(0,0); // setPosition is not a defined method
        document.getElementById('panel').scrollTop=0; // had no effect

        scrollbar.setPosition(0,0); // scrollbar not defined
        scrollbar.scrollTop=0; //scrollbar not defined

        return (<Scrollbar id="panel">stuff</Scrollbar>);

    }
}

1 个答案:

答案 0 :(得分:0)

尝试scrollbar.scrollTop = 0scrollbar.setPosition(scrollbar.offset.x, 0)