diff options
author | crupest <crupest@outlook.com> | 2023-09-14 23:47:16 +0800 |
---|---|---|
committer | crupest <crupest@outlook.com> | 2023-09-16 23:06:31 +0800 |
commit | aef14be13c3bd9e93eeea598dbfbf707ba98d448 (patch) | |
tree | bb0a4199849dec57c5f0c190cb213fc22296622c /FrontEnd/src/components/menu | |
parent | 754597d49cd2d3f6295e5fe3ed68c6210bf4e8a5 (diff) | |
download | timeline-aef14be13c3bd9e93eeea598dbfbf707ba98d448.tar.gz timeline-aef14be13c3bd9e93eeea598dbfbf707ba98d448.tar.bz2 timeline-aef14be13c3bd9e93eeea598dbfbf707ba98d448.zip |
...
Diffstat (limited to 'FrontEnd/src/components/menu')
-rw-r--r-- | FrontEnd/src/components/menu/Menu.tsx | 14 | ||||
-rw-r--r-- | FrontEnd/src/components/menu/PopupMenu.tsx | 3 |
2 files changed, 9 insertions, 8 deletions
diff --git a/FrontEnd/src/components/menu/Menu.tsx b/FrontEnd/src/components/menu/Menu.tsx index c01c6cfb..1a196a69 100644 --- a/FrontEnd/src/components/menu/Menu.tsx +++ b/FrontEnd/src/components/menu/Menu.tsx @@ -1,4 +1,4 @@ -import { CSSProperties } from "react"; +import { MouseEvent, CSSProperties } from "react"; import classNames from "classnames"; import { useC, Text, ThemeColor } from "../common"; @@ -15,21 +15,21 @@ export type MenuItem = text: Text; icon?: string; color?: ThemeColor; - onClick: () => void; + onClick?: (e: MouseEvent<HTMLButtonElement>) => void; }; export type MenuItems = MenuItem[]; export type MenuProps = { items: MenuItems; - onItemClicked?: () => void; + onItemClick?: (e: MouseEvent<HTMLButtonElement>) => void; className?: string; style?: CSSProperties; }; export default function Menu({ items, - onItemClicked, + onItemClick, className, style, }: MenuProps) { @@ -46,9 +46,9 @@ export default function Menu({ <button key={index} className={`cru-menu-item cru-clickable-${color ?? "primary"}`} - onClick={() => { - onClick(); - onItemClicked?.(); + onClick={(e) => { + onClick?.(e); + onItemClick?.(e); }} > {icon != null && <Icon color={color} icon={icon} />} diff --git a/FrontEnd/src/components/menu/PopupMenu.tsx b/FrontEnd/src/components/menu/PopupMenu.tsx index 9d90799d..7ac2abfe 100644 --- a/FrontEnd/src/components/menu/PopupMenu.tsx +++ b/FrontEnd/src/components/menu/PopupMenu.tsx @@ -58,8 +58,9 @@ export default function PopupMenu({ > <Menu items={items} - onItemClicked={() => { + onItemClick={(e) => { setShow(false); + e.stopPropagation(); }} /> </div>, |