2017-03-08 55 views
0

動態添加div內的項目。在componentDidUpdate之後,我想滾動div的內容,以便最後一個列表項可見。在componentDidUpdate後滾動到底部

CSS

div { 
    height: 100px; 
    overflow-y: scroll; 
} 

反應JS

return(
<div> 
    ... 
    <div ref='wrap'> 
    <ul> 
    <li>item</li> 
     .. 
    <li>last item</li> 
    </ul> 
</div> 
    ... 
</div>) 

回答

3

您可以將元素的scrollTop的屬性設置爲元素的當前scrollHeight屬性。這將使滾動到底部。

您不需要爲此使用jquery - this.refs[refname]爲您提供了可以對其執行操作的DOM元素。

componentDidUpdate() { 
    var el = this.refs.wrap; 
    el.scrollTop = el.scrollHeight; 
} 
+0

雖然這個代碼片斷是值得歡迎的,並可以提供一些幫助,這將是(// meta.stackexchange.com/q/114762)*如何*和極大的,如果它包括一個改進的解釋*爲什麼*這解決了這個問題。請記住,你正在爲將來的讀者回答這個問題,而不僅僅是現在問的人!請編輯您的答案以添加解釋,並指出適用的限制和假設。 –