diff --git a/packages/grafana-ui/src/components/Forms/Select/ButtonSelect.tsx b/packages/grafana-ui/src/components/Forms/Select/ButtonSelect.tsx index 01b772cc1bf..eca501dec5b 100644 --- a/packages/grafana-ui/src/components/Forms/Select/ButtonSelect.tsx +++ b/packages/grafana-ui/src/components/Forms/Select/ButtonSelect.tsx @@ -17,9 +17,10 @@ interface ButtonSelectProps extends Omit, 'renderControl interface SelectButtonProps extends Omit { icon?: IconType; isOpen?: boolean; + innerRef: any; } -const SelectButton: React.FC = ({ icon, children, isOpen, ...buttonProps }) => { +const SelectButton: React.FC = ({ icon, children, isOpen, innerRef, ...buttonProps }) => { const theme = useTheme(); const styles = { wrapper: css` @@ -42,7 +43,7 @@ const SelectButton: React.FC = ({ icon, children, isOpen, ... const buttonIcon = `fa fa-${icon}`; const caretIcon = isOpen ? 'caret-up' : 'caret-down'; return ( - ; - }} + portal={document.body} + renderControl={React.forwardRef(({ isOpen, value, ...otherProps }, ref) => { + return ( + + ); + })} {...getDynamicProps()} /> ); }; +export const autoMenuPlacement = () => { + const [value, setValue] = useState>(); + + return ( + <> +
+