1
This commit is contained in:
+25
@@ -0,0 +1,25 @@
|
||||
import { composeRef, getNodeRef, supportRef } from "@rc-component/util/es/ref";
|
||||
import React, { forwardRef, useMemo } from 'react';
|
||||
const Overlay = /*#__PURE__*/forwardRef((props, ref) => {
|
||||
const {
|
||||
overlay,
|
||||
arrow,
|
||||
prefixCls
|
||||
} = props;
|
||||
const overlayNode = useMemo(() => {
|
||||
let overlayElement;
|
||||
if (typeof overlay === 'function') {
|
||||
overlayElement = overlay();
|
||||
} else {
|
||||
overlayElement = overlay;
|
||||
}
|
||||
return overlayElement;
|
||||
}, [overlay]);
|
||||
const composedRef = composeRef(ref, getNodeRef(overlayNode));
|
||||
return /*#__PURE__*/React.createElement(React.Fragment, null, arrow && /*#__PURE__*/React.createElement("div", {
|
||||
className: `${prefixCls}-arrow`
|
||||
}), /*#__PURE__*/React.cloneElement(overlayNode, {
|
||||
ref: supportRef(overlayNode) ? composedRef : undefined
|
||||
}));
|
||||
});
|
||||
export default Overlay;
|
||||
Reference in New Issue
Block a user