diff --git a/src/components/material/StockStatus/StockStatusList.tsx b/src/components/material/StockStatus/StockStatusList.tsx index 0b330c3c..3975f92b 100644 --- a/src/components/material/StockStatus/StockStatusList.tsx +++ b/src/components/material/StockStatus/StockStatusList.tsx @@ -161,6 +161,7 @@ export function StockStatusList() { const [usageLoading, setUsageLoading] = useState(false); const handleRowClick = (item: StockItem, e?: React.MouseEvent) => { + e?.stopPropagation(); if (actionMenu?.item.id === item.id) { setActionMenu(null); return; @@ -174,8 +175,10 @@ export function StockStatusList() { useEffect(() => { if (!actionMenu) return; const close = () => setActionMenu(null); - window.addEventListener('click', close, { once: true }); - return () => window.removeEventListener('click', close); + const timer = setTimeout(() => { + window.addEventListener('click', close, { once: true }); + }, 0); + return () => { clearTimeout(timer); window.removeEventListener('click', close); }; }, [actionMenu]); const handleViewUsage = async (item: StockItem) => {