Skip to content

Commit bdee43e

Browse files
authored
Merge pull request #381 from jilliankeenan/PDS-511
(PDS-511) Bugfix for autocomplete select not staying open when typing
2 parents 7145621 + fb67e19 commit bdee43e

File tree

2 files changed

+9
-2
lines changed

2 files changed

+9
-2
lines changed

packages/react-components/source/react/internal/option-menu-list/OptionMenuList.js

+7-1
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@ import Icon from '../../library/icon';
2020
const propTypes = {
2121
id: PropTypes.string.isRequired,
2222
multiple: PropTypes.bool,
23+
autocomplete: PropTypes.bool,
2324
showCancel: PropTypes.bool,
2425
options: PropTypes.arrayOf(
2526
PropTypes.shape({
@@ -49,6 +50,7 @@ const propTypes = {
4950
const defaultProps = {
5051
options: [],
5152
multiple: false,
53+
autocomplete: false,
5254
showCancel: false,
5355
onBlur() {},
5456
className: '',
@@ -261,7 +263,7 @@ class OptionMenuList extends Component {
261263
}
262264

263265
select(value) {
264-
const { multiple, selected, onChange } = this.props;
266+
const { multiple, selected, onChange, autocomplete, onEscape } = this.props;
265267

266268
if (multiple) {
267269
const selectionSet = getSelectionSet(selected);
@@ -274,6 +276,9 @@ class OptionMenuList extends Component {
274276
onChange(Array.from(selectionSet));
275277
} else {
276278
onChange(value);
279+
if (autocomplete) {
280+
onEscape();
281+
}
277282
}
278283
}
279284

@@ -306,6 +311,7 @@ class OptionMenuList extends Component {
306311
options,
307312
selected,
308313
multiple,
314+
autocomplete,
309315
showCancel,
310316
actionLabel,
311317
cancelLabel,

packages/react-components/source/react/library/select/Select.js

+2-1
Original file line numberDiff line numberDiff line change
@@ -192,7 +192,7 @@ class Select extends Component {
192192
this.setState({ focusedIndex: 0 });
193193
}
194194

195-
if (type !== MULTISELECT) {
195+
if (type !== MULTISELECT && type !== AUTOCOMPLETE) {
196196
this.closeAndFocusButton();
197197
}
198198
}
@@ -455,6 +455,7 @@ class Select extends Component {
455455
<OptionMenuList
456456
id={`${name}-menu`}
457457
multiple={type === MULTISELECT}
458+
autocomplete={type === AUTOCOMPLETE}
458459
showCancel={type === MULTISELECT && !applyImmediately}
459460
options={getOptions()}
460461
selected={listValue}

0 commit comments

Comments
 (0)