Skip to content

Commit 7bffe8a

Browse files
committed
Added autoselect first option on enter
1 parent afde8b1 commit 7bffe8a

File tree

2 files changed

+20
-2
lines changed

2 files changed

+20
-2
lines changed

components/autocomplete/Autocomplete.js

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -112,8 +112,17 @@ const factory = (Chip, Input) => {
112112
};
113113

114114
handleQueryKeyUp = (event) => {
115-
if (event.which === 13 && this.state.active) this.select(this.state.active, event);
115+
if (event.which === 13) {
116+
let target = this.state.active;
117+
if (!target) {
118+
target = [...this.suggestions().keys()][0];
119+
this.setState({active: target});
120+
}
121+
this.select(target, event);
122+
}
123+
116124
if (event.which === 27) ReactDOM.findDOMNode(this).querySelector('input').blur();
125+
117126
if ([40, 38].indexOf(event.which) !== -1) {
118127
const suggestionsKeys = [...this.suggestions().keys()];
119128
let index = suggestionsKeys.indexOf(this.state.active) + (event.which === 40 ? +1 : -1);

lib/autocomplete/Autocomplete.js

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -100,8 +100,17 @@ var factory = function factory(Chip, Input) {
100100
_this.setState({ query: '' });
101101
}
102102
}, _this.handleQueryKeyUp = function (event) {
103-
if (event.which === 13 && _this.state.active) _this.select(_this.state.active, event);
103+
if (event.which === 13) {
104+
var target = _this.state.active;
105+
if (!target) {
106+
target = [].concat(_toConsumableArray(_this.suggestions().keys()))[0];
107+
_this.setState({ active: target });
108+
}
109+
_this.select(target, event);
110+
}
111+
104112
if (event.which === 27) _reactDom2.default.findDOMNode(_this).querySelector('input').blur();
113+
105114
if ([40, 38].indexOf(event.which) !== -1) {
106115
var suggestionsKeys = [].concat(_toConsumableArray(_this.suggestions().keys()));
107116
var index = suggestionsKeys.indexOf(_this.state.active) + (event.which === 40 ? +1 : -1);

0 commit comments

Comments
 (0)