in Dataset/JS/ReactSelect/index.tsx [898:922]
openMenu(focusOption: 'first' | 'last') {
const { selectValue, isFocused } = this.state;
const focusableOptions = this.buildFocusableOptions();
let openAtIndex = focusOption === 'first' ? 0 : focusableOptions.length - 1;
if (!this.props.isMulti) {
const selectedIndex = focusableOptions.indexOf(selectValue[0]);
if (selectedIndex > -1) {
openAtIndex = selectedIndex;
}
}
// only scroll if the menu isn't already open
this.scrollToFocusedOptionOnUpdate = !(isFocused && this.menuListRef);
this.setState(
{
inputIsHiddenAfterUpdate: false,
focusedValue: null,
focusedOption: focusableOptions[openAtIndex],
focusedOptionId: this.getFocusedOptionId(focusableOptions[openAtIndex]),
},
() => this.onMenuOpen()
);
}