Skip to content

Commit

Permalink
Merge pull request #26743 from dukenv0307/fix/26228
Browse files Browse the repository at this point in the history
fix: pressing enter doesn't open the selected option page
  • Loading branch information
Beamanator authored Sep 11, 2023
2 parents 4abaeba + 481cd80 commit 96160a0
Showing 1 changed file with 6 additions and 6 deletions.
12 changes: 6 additions & 6 deletions src/components/PopoverMenu/index.js
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
import _ from 'underscore';
import React, {useState} from 'react';
import React, {useRef} from 'react';
import PropTypes from 'prop-types';
import {View} from 'react-native';
import PopoverWithMeasuredContent from '../PopoverWithMeasuredContent';
Expand Down Expand Up @@ -48,13 +48,13 @@ const defaultProps = {

function PopoverMenu(props) {
const {isSmallScreenWidth} = useWindowDimensions();
const [selectedItemIndex, setSelectedItemIndex] = useState(null);
const selectedItemIndex = useRef(null);
const [focusedIndex, setFocusedIndex] = useArrowKeyFocusManager({initialFocusedIndex: -1, maxIndex: props.menuItems.length - 1, isActive: props.isVisible});

const selectItem = (index) => {
const selectedItem = props.menuItems[index];
props.onItemSelected(selectedItem, index);
setSelectedItemIndex(index);
selectedItemIndex.current = index;
};

useKeyboardShortcut(
Expand All @@ -78,9 +78,9 @@ function PopoverMenu(props) {
isVisible={props.isVisible}
onModalHide={() => {
setFocusedIndex(-1);
if (selectedItemIndex !== null) {
props.menuItems[selectedItemIndex].onSelected();
setSelectedItemIndex(null);
if (selectedItemIndex.current !== null) {
props.menuItems[selectedItemIndex.current].onSelected();
selectedItemIndex.current = null;
}
}}
animationIn={props.animationIn}
Expand Down

0 comments on commit 96160a0

Please sign in to comment.