反应水平滚动条

时间:2016-04-14 02:34:23

标签: reactjs

React真的很新,请原谅我,如果这是在本书的第1页......

我在React工作了一小段拖放样品。我可以将<div>从页面底部拖到&#34;目标&#34; <div>排在最前面。放置处理程序修改状态,被删除的元素出现在目标中。

所有掉落的元素在水平方向上一个接一个地出现在目标中。

并且存在问题:我希望目标div一直向右滚动以向我显示我刚刚删除的那个。

我在我的drop处理程序中添加了一些代码,用于找到目标(通过引用)并将scrollLeft设置为一个大数字。 它会导致滚动,但永远不会结束。我假设这是因为我在使用新状态渲染之前在元素上设置scrollLeft,因此将其设置为&#34;之前的最大值&#34;。

有人能指出我正确的方向吗?

1 个答案:

答案 0 :(得分:3)

this.setState接受第二个可选参数,即在渲染完成后运行的回调。

例如,

this.setState({ /* your state */ }, function() { 
    ... 
    this.refs.yourRef.scrollLeft = /* someValue */;
});