Еще одно решение, которое работает для нас
import java.io.StringWriter;
import org.dom4j.DocumentHelper;
import org.dom4j.io.OutputFormat;
import org.dom4j.io.XMLWriter;
**
* Pretty Print XML String
*
* @param inputXmlString
* @return
*/
public static String prettyPrintXml(String xml) {
final StringWriter sw;
try {
final OutputFormat format = OutputFormat.createPrettyPrint();
final org.dom4j.Document document = DocumentHelper.parseText(xml);
sw = new StringWriter();
final XMLWriter writer = new XMLWriter(sw, format);
writer.write(document);
}
catch (Exception e) {
throw new RuntimeException("Error pretty printing xml:\n" + xml, e);
}
return sw.toString();
}
Правильный путь - onCopy = {this.handleCopy}. Здесь e проходит автоматически. Попробуйте приведенный ниже фрагмент кода. Это будет работать.
blockquote>handleCopy(e) { console.log('Hello world'); e.preventDefault(); e.stopPropagation(); } render() { const { id, className, ...props } = this.props; const fullClassName = className ? `sr-only ${className}` : 'sr-only ok'; return ( <span className={fullClassName} id={id} {...props} onCopy={this.handleCopy}> {this.props.children} </span> ); }
class ScreenReaderMessage extends BcReactComponent {
constructor (props) {
super(props);
}
handleCopy (e) {
console.log('Hello world');
e.preventDefault();
e.stopPropagation();
}
render () {
const { id, className, ...props } = this.props;
const fullClassName = className ? `sr-only ${className}` : 'sr-only ok';
return (
<span className={fullClassName} id={id} {...props}
onCopy={(e)=>this.handleCopy(e)}
onContextMenu={(e)=>this.handleCopy(e)}
>
{this.props.children}
</span>
);
}
}
ScreenReaderMessage.propTypes = {
id: PropTypes.string,
localeKey: PropTypes.string,
children: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.node), PropTypes.node]).isRequired
};
export default ScreenReaderMessage;
Надеюсь, что это поможет ..