aboutsummaryrefslogtreecommitdiff
path: root/FrontEnd/src/views/common/menu/PopupMenu.tsx
diff options
context:
space:
mode:
authorcrupest <crupest@outlook.com>2021-06-30 19:00:13 +0800
committercrupest <crupest@outlook.com>2021-06-30 19:00:13 +0800
commitbb7a017dba4c466eaf167627b3605cf539b1e516 (patch)
tree28f155729e8a96b184a42b2a19cbd448e0f7ab3f /FrontEnd/src/views/common/menu/PopupMenu.tsx
parent839daa0eac6fdbe84f45e8572e5ab07126b7d67c (diff)
downloadtimeline-bb7a017dba4c466eaf167627b3605cf539b1e516.tar.gz
timeline-bb7a017dba4c466eaf167627b3605cf539b1e516.tar.bz2
timeline-bb7a017dba4c466eaf167627b3605cf539b1e516.zip
...
Diffstat (limited to 'FrontEnd/src/views/common/menu/PopupMenu.tsx')
-rw-r--r--FrontEnd/src/views/common/menu/PopupMenu.tsx35
1 files changed, 20 insertions, 15 deletions
diff --git a/FrontEnd/src/views/common/menu/PopupMenu.tsx b/FrontEnd/src/views/common/menu/PopupMenu.tsx
index 851f3bee..d7b81f49 100644
--- a/FrontEnd/src/views/common/menu/PopupMenu.tsx
+++ b/FrontEnd/src/views/common/menu/PopupMenu.tsx
@@ -1,5 +1,6 @@
import classNames from "classnames";
import React from "react";
+import { createPortal } from "react-dom";
import { usePopper } from "react-popper";
import Menu, { MenuItems } from "./Menu";
@@ -57,21 +58,25 @@ const PopupMenu: React.FC<PopupMenuProps> = ({
>
{children}
</div>
- {show ? (
- <div
- ref={setPopperElement}
- className="cru-popup-menu-menu-container"
- style={styles.popper}
- {...attributes.popper}
- >
- <Menu
- items={items}
- onItemClicked={() => {
- setShow(false);
- }}
- />
- </div>
- ) : null}
+ {show
+ ? createPortal(
+ <div
+ ref={setPopperElement}
+ className="cru-popup-menu-menu-container"
+ style={styles.popper}
+ {...attributes.popper}
+ >
+ <Menu
+ items={items}
+ onItemClicked={() => {
+ setShow(false);
+ }}
+ />
+ </div>,
+ // eslint-disable-next-line @typescript-eslint/no-non-null-assertion
+ document.getElementById("portal")!
+ )
+ : null}
</>
);
};