autoscroll emoji suggestions box

remotes/1727458204337373841/tmp_refs/heads/signup-info-prompt
Ondřej Hruška 2017-09-21 15:31:24 +02:00
parent fa3587645d
commit c89cce0219
1 changed files with 10 additions and 0 deletions

View File

@ -162,6 +162,15 @@ export default class AutosuggestTextarea extends ImmutablePureComponent {
} }
} }
componentDidUpdate () {
if (this.refs.selected) {
if (this.refs.selected.scrollIntoViewIfNeeded)
this.refs.selected.scrollIntoViewIfNeeded();
else
this.refs.selected.scrollIntoView({ behavior: 'auto', block: 'nearest' });
}
}
render () { render () {
const { value, suggestions, disabled, placeholder, onKeyUp, autoFocus } = this.props; const { value, suggestions, disabled, placeholder, onKeyUp, autoFocus } = this.props;
const { suggestionsHidden, selectedSuggestion } = this.state; const { suggestionsHidden, selectedSuggestion } = this.state;
@ -202,6 +211,7 @@ export default class AutosuggestTextarea extends ImmutablePureComponent {
<div className={`autosuggest-textarea__suggestions ${suggestionsHidden || suggestions.isEmpty() ? '' : 'autosuggest-textarea__suggestions--visible'}`}> <div className={`autosuggest-textarea__suggestions ${suggestionsHidden || suggestions.isEmpty() ? '' : 'autosuggest-textarea__suggestions--visible'}`}>
{suggestions.map((suggestion, i) => ( {suggestions.map((suggestion, i) => (
<div <div
ref={i === selectedSuggestion ? 'selected' : null}
role='button' role='button'
tabIndex='0' tabIndex='0'
key={suggestion} key={suggestion}