import React from 'react'; import { Dropdown, DropdownToggle, DropdownItem, DropdownSeparator, Flex } from '@patternfly/react-core'; export const DropdownAppendBodyVsParent: React.FunctionComponent = () => { const [isBodyOpen, setIsBodyOpen] = React.useState(false); const [isParentOpen, setIsParentOpen] = React.useState(false); const onBodyToggle = (isBodyOpen: boolean) => { setIsBodyOpen(isBodyOpen); }; const onParentToggle = (isParentOpen: boolean) => { setIsParentOpen(isParentOpen); }; const onBodyFocus = () => { const element = document.getElementById('toggle-append-body'); element.focus(); }; const onParentFocus = () => { const element = document.getElementById('toggle-append-parent'); element.focus(); }; const onBodySelect = () => { setIsBodyOpen(false); onBodyFocus(); }; const onParentSelect = () => { setIsParentOpen(false); onParentFocus(); }; const dropdownItems = [ Link, Action , Disabled link , Disabled action , , Separated link, Separated action ]; return ( Dropdown appended to body } isOpen={isBodyOpen} dropdownItems={dropdownItems} menuAppendTo={() => document.body} /> Dropdown appended to parent } isOpen={isParentOpen} dropdownItems={dropdownItems} menuAppendTo="parent" /> ); };