UNPKG

qt-public-ui

Version:

新设计规范下业务组件库

30 lines (29 loc) 1.04 kB
import _extends from "@babel/runtime/helpers/esm/extends"; import _objectWithoutPropertiesLoose from "@babel/runtime/helpers/esm/objectWithoutPropertiesLoose"; var _excluded = ["text", "onCopy", "children"]; import React from 'react'; import copy from 'copy-to-clipboard'; var ClickCopy = function ClickCopy(props) { var elem = React.Children.only(props.children); var onClick = function onClick(event) { var text = props.text, onCopy = props.onCopy, disabled = props.disabled; // 保留原有 onClick 功能 if (elem && elem.props && typeof elem.props.onClick === 'function') { elem.props.onClick(event); } if (disabled) return; var isSuccess = copy(text); onCopy && onCopy(text, isSuccess); }; var text = props.text, onCopy = props.onCopy, children = props.children, rest = _objectWithoutPropertiesLoose(props, _excluded); return React.cloneElement(elem, _extends({}, rest, { onClick: onClick })); }; ClickCopy.displayName = 'ClickCopy'; export default ClickCopy;