/** * useClickAway Hook - 点击外部区域检测 Hook * * 该 Hook 用于检测用户是否点击了指定元素外部的区域,常用于实现下拉菜单、 * 弹出层等组件的自动关闭功能。 * * @description 点击外部区域检测 Hook,用于实现组件外部点击关闭功能 * @param {Function} callback - 点击外部区域时的回调函数 * @param {React.RefObject} ref - 被监听的元素引用 * * @example * ```tsx * const ref = useRef(null); * * useClickAway(() => { * console.log('点击了外部区域'); * setOpen(false); * }, ref); * * return ( *
* * {open &&
菜单内容
} *
* ); * ``` * * @remarks * - 自动监听全局 mousedown 事件 * - 智能判断点击目标是否在指定元素内部 * - 支持父节点包含检测 * - 组件卸载时自动清理事件监听 * - 适用于下拉菜单、弹出层等场景 */ export declare const useClickAway: (callback: any, ref: React.RefObject) => void; export default useClickAway;