我有一个名单,我想滚动至底部,我有我的部分编码这样componentDidUpdate滚动至底部时,项目加载
class Msg extends Component {
componentDidUpdate() {
if(this.container){
this.container.scrollTop = this.container.scrollHeight
}
}
render() {
return(
<div ref={elem = this.container = elem}>
<Item />
<Item />
<Item />
</div>
)
}
}
它的工作。但问题是每当组件重新提交时它都会滚动。 Msg有很多子组件,触发子组件的状态会导致Msg组件再次呈现,如何解决这个问题?
解释它像一个正常的用户:
用户向上滚动列表,然后单击下拉某处时,componentDidUpdate触发,造成滚动底部。
所以,当你想在添加一个新的项目它向下滚动网页...?我建议在UX中添加一个新按钮,以允许用户在需要时向下滚动。 – camou
@camou在whatssap的味精,你看到一个按钮来做到这一点? –
不,但是当我在iOS9.2上滚动时,WhatsApp不会强迫我停下来。那么,您何时想要向下滚动,何时出现新消息或用户在最后几秒内停止滚动? – camou