aboutsummaryrefslogtreecommitdiff
path: root/FrontEnd/src/utilities
diff options
context:
space:
mode:
authorcrupest <crupest@outlook.com>2021-07-06 23:31:37 +0800
committercrupest <crupest@outlook.com>2021-07-06 23:31:37 +0800
commit7ca1020ab615e9f8b569d0b5a7fdecb6721b537d (patch)
tree73daf6a2dab152bd8c333af29073c57e943f68c5 /FrontEnd/src/utilities
parentf1f066b558ff83bacd572c1f62f9dd8299f88016 (diff)
downloadtimeline-7ca1020ab615e9f8b569d0b5a7fdecb6721b537d.tar.gz
timeline-7ca1020ab615e9f8b569d0b5a7fdecb6721b537d.tar.bz2
timeline-7ca1020ab615e9f8b569d0b5a7fdecb6721b537d.zip
fix: Fix popup menu bug.
Diffstat (limited to 'FrontEnd/src/utilities')
-rw-r--r--FrontEnd/src/utilities/useClickOutside.ts13
1 files changed, 10 insertions, 3 deletions
diff --git a/FrontEnd/src/utilities/useClickOutside.ts b/FrontEnd/src/utilities/useClickOutside.ts
index d4c53aa8..4b2f0e5c 100644
--- a/FrontEnd/src/utilities/useClickOutside.ts
+++ b/FrontEnd/src/utilities/useClickOutside.ts
@@ -2,7 +2,8 @@ import React from "react";
export default function useClickOutside(
element: HTMLElement | null | undefined,
- onClickOutside: () => void
+ onClickOutside: () => void,
+ nextTick?: boolean
): void {
const onClickOutsideRef = React.useRef<() => void>(onClickOutside);
@@ -22,10 +23,16 @@ export default function useClickOutside(
}
onClickOutsideRef.current();
};
- document.addEventListener("click", handler);
+ if (nextTick) {
+ setTimeout(() => {
+ document.addEventListener("click", handler);
+ });
+ } else {
+ document.addEventListener("click", handler);
+ }
return () => {
document.removeEventListener("click", handler);
};
}
- }, [element]);
+ }, [element, nextTick]);
}