Made sure we only resetTypeahead if mounted

This commit is contained in:
Hugo Häggmark
2019-01-28 14:43:59 +01:00
parent edfce0893e
commit dc125f1e4d
+12 -7
View File
@@ -73,6 +73,7 @@ export class QueryField extends React.PureComponent<QueryFieldProps, QueryFieldS
placeholdersBuffer: PlaceholdersBuffer;
plugins: any[];
resetTimer: any;
mounted: boolean;
constructor(props: QueryFieldProps, context) {
super(props, context);
@@ -93,10 +94,12 @@ export class QueryField extends React.PureComponent<QueryFieldProps, QueryFieldS
}
componentDidMount() {
this.mounted = true;
this.updateMenu();
}
componentWillUnmount() {
this.mounted = false;
clearTimeout(this.resetTimer);
}
@@ -347,13 +350,15 @@ export class QueryField extends React.PureComponent<QueryFieldProps, QueryFieldS
};
resetTypeahead = () => {
this.setState({
suggestions: [],
typeaheadIndex: 0,
typeaheadPrefix: '',
typeaheadContext: null,
});
this.resetTimer = null;
if (this.mounted) {
this.setState({
suggestions: [],
typeaheadIndex: 0,
typeaheadPrefix: '',
typeaheadContext: null,
});
this.resetTimer = null;
}
};
handleBlur = () => {