From b35cd342e01d589fed74d915aafe6129de9ca477 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=B4=94=E5=85=B0=E9=91=AB?= <1192065030@qq.com> Date: Mon, 18 Apr 2022 19:20:07 +0800 Subject: [PATCH] =?UTF-8?q?fix(Menu):=20=E4=BF=AE=E5=A4=8D=E5=B1=95?= =?UTF-8?q?=E5=BC=80=E5=AD=90=E8=8F=9C=E5=8D=95=E6=94=B6=E8=B5=B7=E7=9A=84?= =?UTF-8?q?=E6=97=B6=E5=80=99=E6=B2=A1=E6=9C=89=E5=8A=A8=E7=94=BB=20#774?= =?UTF-8?q?=20(#775)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- packages/react-menu/src/SubMenu.tsx | 3 +++ packages/react-overlay-trigger/src/index.tsx | 2 ++ 2 files changed, 5 insertions(+) diff --git a/packages/react-menu/src/SubMenu.tsx b/packages/react-menu/src/SubMenu.tsx index 46a1314659..273aae38b8 100644 --- a/packages/react-menu/src/SubMenu.tsx +++ b/packages/react-menu/src/SubMenu.tsx @@ -103,6 +103,9 @@ export const SubMenu = React.forwardRef(function ( } function onEntered(node: HTMLElement) { node.style.height = 'initial'; + if (popupRef.current && popupRef.current.overlayDom) { + node.style.height = popupRef.current.overlayDom.current!.getBoundingClientRect().height + 'px'; + } } if (!collapse) { diff --git a/packages/react-overlay-trigger/src/index.tsx b/packages/react-overlay-trigger/src/index.tsx index 402c50e8f2..52899dc593 100644 --- a/packages/react-overlay-trigger/src/index.tsx +++ b/packages/react-overlay-trigger/src/index.tsx @@ -72,6 +72,7 @@ const normalizeDelay = (delay?: Delay) => (delay && typeof delay === 'object' ? export type OverlayTriggerRef = { hide: () => void; show: () => void; + overlayDom: React.MutableRefObject; }; export default React.forwardRef((props, ref) => { @@ -114,6 +115,7 @@ export default React.forwardRef((props, useImperativeHandle(ref, () => ({ hide: () => hide(), show: () => show(), + overlayDom: popupRef, })); const child: any = React.Children.only(children);