Keep scroll position when scrolled down and new content is added
This commit is contained in:
		
							parent
							
								
									23fc424b7a
								
							
						
					
					
						commit
						4a6cc46e81
					
				
					 1 changed files with 12 additions and 0 deletions
				
			
		|  | @ -38,11 +38,23 @@ const StatusList = React.createClass({ | |||
|   handleScroll (e) { | ||||
|     const { scrollTop, scrollHeight, clientHeight } = e.target; | ||||
| 
 | ||||
|     this._oldScrollPosition = scrollHeight - scrollTop; | ||||
| 
 | ||||
|     if (scrollTop === scrollHeight - clientHeight) { | ||||
|       this.props.onScrollToBottom(); | ||||
|     } | ||||
|   }, | ||||
| 
 | ||||
|   componentDidUpdate (prevProps) { | ||||
|     if (prevProps.statusIds.size < this.props.statusIds.size && this._oldScrollPosition) { | ||||
|       const node = ReactDOM.findDOMNode(this); | ||||
| 
 | ||||
|       if (node.scrollTop > 0) { | ||||
|         node.scrollTop = node.scrollHeight - this._oldScrollPosition; | ||||
|       } | ||||
|     } | ||||
|   }, | ||||
| 
 | ||||
|   render () { | ||||
|     const { statusIds, onScrollToBottom, trackScroll } = this.props; | ||||
| 
 | ||||
|  |  | |||
		Loading…
	
	Add table
		
		Reference in a new issue