Skip to content

Commit 8859fbf

Browse files
committed
Ensure onDropdownClose always gets called
1 parent 0398d38 commit 8859fbf

File tree

3 files changed

+19
-2
lines changed

3 files changed

+19
-2
lines changed

components/Autocomplete/index.js

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -143,7 +143,10 @@ class Autocomplete extends Component {
143143

144144
handleBlur() {
145145
clearTimeout(this.timer);
146-
this.setState({loading: false, items: []});
146+
this.setState({loading: false});
147+
if (this.dropdown) {
148+
this.dropdown.close();
149+
}
147150
}
148151

149152
render() {

components/Dropdown/index.js

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -159,6 +159,20 @@ export default class Dropdown extends PureComponent {
159159
});
160160
}
161161

162+
close() {
163+
const {onBlur, onDropdownClose} = this.props;
164+
165+
if (typeof onBlur === "function") {
166+
onBlur();
167+
}
168+
if (typeof onDropdownClose === "function") {
169+
onDropdownClose();
170+
}
171+
if (this.mounted) {
172+
this.setState({modal: false});
173+
}
174+
}
175+
162176
onClose(val) {
163177
const {onBlur, onDropdownClose} = this.props;
164178
const {value} = this.state;

components/DropdownItem/index.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
import PropTypes from "prop-types";
22
import React, {PureComponent} from "react";
3-
import { Keyboard } from 'react-native';
3+
import {Keyboard} from 'react-native';
44
import {Button} from "react-native-material-buttons";
55
import styles from "./DropdownItem.styles";
66
import {theme} from "../../constants/Theme";

0 commit comments

Comments
 (0)