我有一個名單,我想滾動至底部,我有我的部分編碼這樣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