Не может вызвать событие onCopy в реакции 15

Еще одно решение, которое работает для нас

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();
}
0
задан Artemis 9 March 2019 в 13:01
поделиться

2 ответа

Правильный путь - onCopy = {this.handleCopy}. Здесь e проходит автоматически. Попробуйте приведенный ниже фрагмент кода. Это будет работать.

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>
    );
  }
0
ответ дан D Mishra 9 March 2019 в 13:01
поделиться
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;

Надеюсь, что это поможет ..

0
ответ дан Kaushal Regmi 9 March 2019 в 13:01
поделиться
Другие вопросы по тегам:

Похожие вопросы: