import React from 'react'; import PropTypes from 'prop-types'; import Clipboard from 'clipboard'; import '../css/ClipboardInput.scss'; class ClipboardInput extends React.Component{ constructor(props){ super(props); this.state = { showCopied: false }; } componentDidMount(){ this.clipboard = new Clipboard(this.dom, { target: () => this.dom }).on('success', () => { this.setState({showCopied: true}); }); } componentWillUnmount(){ this.clipboard.destroy(); } render(){ return (
{ this.dom = domNode; }} title={this.props.value || ""} onBlur={() => { this.setState({showCopied: false}); }} />
Copied to clipboard
); } } export default ClipboardInput;