qt-public-ui
Version:
新设计规范下业务组件库
30 lines (29 loc) • 1.04 kB
JavaScript
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;