Fixed SuggestionLists to properly hide when the textbox loses focus

Этот коммит содержится в:
hmhealey
2015-11-30 16:27:23 -05:00
родитель 6d10b10318
Коммит 713115be51
3 изменённых файлов: 11 добавлений и 7 удалений

Просмотреть файл

@@ -35,7 +35,7 @@ export default class SearchSuggestionList extends SuggestionList {
} }
render() { render() {
if (this.state.items.length === 0) { if (this.state.items.length === 0 || !this.props.show) {
return null; return null;
} }
@@ -82,5 +82,5 @@ export default class SearchSuggestionList extends SuggestionList {
} }
SearchSuggestionList.propTypes = { SearchSuggestionList.propTypes = {
suggestionId: React.PropTypes.string.isRequired ...SuggestionList.propTypes
}; };

Просмотреть файл

@@ -147,8 +147,6 @@ export default class SuggestionBox extends React.Component {
} }
render() { render() {
const SuggestionList = this.props.listComponent;
const newProps = Object.assign({}, this.props, { const newProps = Object.assign({}, this.props, {
onFocus: this.handleFocus, onFocus: this.handleFocus,
onChange: this.handleChange, onChange: this.handleChange,
@@ -173,10 +171,15 @@ export default class SuggestionBox extends React.Component {
); );
} }
const SuggestionListComponent = this.props.listComponent;
return ( return (
<div> <div>
{textbox} {textbox}
<SuggestionList suggestionId={this.suggestionId} /> <SuggestionListComponent
suggestionId={this.suggestionId}
show={this.state.focused}
/>
</div> </div>
); );
} }

Просмотреть файл

@@ -87,7 +87,7 @@ export default class SuggestionList extends React.Component {
} }
render() { render() {
if (this.state.items.length === 0) { if (this.state.items.length === 0 || !this.props.show) {
return null; return null;
} }
@@ -125,5 +125,6 @@ export default class SuggestionList extends React.Component {
} }
SuggestionList.propTypes = { SuggestionList.propTypes = {
suggestionId: React.PropTypes.string.isRequired suggestionId: React.PropTypes.string.isRequired,
show: React.PropTypes.bool.isRequired
}; };