UNPKG

acud

Version:

acg react 组件库

30 lines • 823 B
import { useEvent } from 'rc-util'; import * as React from 'react'; /** * 无参函数 */ function voidFunc() {} var WatermarkContext = /*#__PURE__*/React.createContext({ add: voidFunc, remove: voidFunc }); /** * 使用面板引用。 * @param panelSelector - 面板选择器。 * @returns 返回使用面板引用的函数。 */ export function usePanelRef(panelSelector) { var watermark = React.useContext(WatermarkContext); var panelEleRef = React.useRef(); var panelRef = useEvent(function (ele) { if (ele) { var innerContentEle = panelSelector ? ele.querySelector(panelSelector) : ele; watermark.add(innerContentEle); panelEleRef.current = innerContentEle; } else { watermark.remove(panelEleRef.current); } }); return panelRef; } export default WatermarkContext;