react-contenteditable

WebJar for react-contenteditable

License

License

Categories

Categories

React User Interface Web Frameworks
GroupId

GroupId

org.webjars.bowergithub.lovasoa
ArtifactId

ArtifactId

react-contenteditable
Last Version

Last Version

2.0.5
Release Date

Release Date

Type

Type

jar
Description

Description

react-contenteditable
WebJar for react-contenteditable
Project URL

Project URL

http://webjars.org
Source Code Management

Source Code Management

https://github.com/lovasoa/react-contenteditable

Download react-contenteditable

How to add to project

<!-- https://jarcasting.com/artifacts/org.webjars.bowergithub.lovasoa/react-contenteditable/ -->
<dependency>
    <groupId>org.webjars.bowergithub.lovasoa</groupId>
    <artifactId>react-contenteditable</artifactId>
    <version>2.0.5</version>
</dependency>
// https://jarcasting.com/artifacts/org.webjars.bowergithub.lovasoa/react-contenteditable/
implementation 'org.webjars.bowergithub.lovasoa:react-contenteditable:2.0.5'
// https://jarcasting.com/artifacts/org.webjars.bowergithub.lovasoa/react-contenteditable/
implementation ("org.webjars.bowergithub.lovasoa:react-contenteditable:2.0.5")
'org.webjars.bowergithub.lovasoa:react-contenteditable:jar:2.0.5'
<dependency org="org.webjars.bowergithub.lovasoa" name="react-contenteditable" rev="2.0.5">
  <artifact name="react-contenteditable" type="jar" />
</dependency>
@Grapes(
@Grab(group='org.webjars.bowergithub.lovasoa', module='react-contenteditable', version='2.0.5')
)
libraryDependencies += "org.webjars.bowergithub.lovasoa" % "react-contenteditable" % "2.0.5"
[org.webjars.bowergithub.lovasoa/react-contenteditable "2.0.5"]

Dependencies

There are no dependencies for this project. It is a standalone project that does not depend on any other jars.

Project Modules

There are no modules declared in this project.

react-contenteditable

React component for a div with editable contents

Build Status download count bundle size license

Install

npm install react-contenteditable

Usage

import React from 'react'
import ContentEditable from 'react-contenteditable'

class MyComponent extends React.Component {
  constructor() {
    super()
    this.contentEditable = React.createRef();
    this.state = {html: "<b>Hello <i>World</i></b>"};
  };

  handleChange = evt => {
    this.setState({html: evt.target.value});
  };

  render = () => {
    return <ContentEditable
              innerRef={this.contentEditable}
              html={this.state.html} // innerHTML of the editable div
              disabled={false}       // use true to disable editing
              onChange={this.handleChange} // handle innerHTML change
              tagName='article' // Use a custom HTML tag (uses a div by default)
            />
  };
};

Available props

prop description type
innerRef element's ref attribute Object | Function
html required: innerHTML of the editable element String
disabled use true to disable editing Boolean
onChange called whenever innerHTML changes Function
onBlur called whenever the html element is blurred Function
onFocus event fires when an element has received focus Function
onKeyUp called whenever a key is released Function
onKeyDown called whenever a key is pressed Function
className the element's CSS class String
style a collection of CSS properties to apply to the element Object

Known Issues

If you are using hooks, please see this issue. Using this component with useState doesn't work, but you can still use useRef :

const text = useRef('');

const handleChange = evt => {
    text.current = evt.target.value;
};

const handleBlur = () => {
    console.log(text.current);
};

return <ContentEditable html={text.current} onBlur={handleBlur} onChange={handleChange} />

Examples

You can try react-contenteditable right from your browser to see if it fits your project's needs:

Versions

Version
2.0.5