diff --git a/ui/src/components/ui/Dropdown/DropdownItem.tsx b/ui/src/components/ui/Dropdown/DropdownItem.tsx index 6cdf988f..75fa59b6 100644 --- a/ui/src/components/ui/Dropdown/DropdownItem.tsx +++ b/ui/src/components/ui/Dropdown/DropdownItem.tsx @@ -106,9 +106,11 @@ const DropdownItem = forwardRef( openSubmenuIfExists() } else { activate(e) + // Close the current menu after activation + menuControl?.closeMenu() } }, - [disabled, submenu, openSubmenuIfExists, activate] + [disabled, submenu, openSubmenuIfExists, activate, menuControl] ) const handleMouseOver = useCallback(() => { diff --git a/ui/src/components/ui/Dropdown/DropdownMenu.tsx b/ui/src/components/ui/Dropdown/DropdownMenu.tsx index 7ec3e8dd..d33f7d90 100644 --- a/ui/src/components/ui/Dropdown/DropdownMenu.tsx +++ b/ui/src/components/ui/Dropdown/DropdownMenu.tsx @@ -38,6 +38,11 @@ const DropdownMenu = forwardRef( className={dropdownSubmenuClass} placement={placement} {...rest} + onSelect={(eventKey, e) => { + // Call both parent and current onSelect + rest.onSelect?.(eventKey, e) + parentMenu?.onSelect?.(eventKey, e) + }} /> )