Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- var React = require('react');
- var ContentEditable = React.createClass({
- render: function(){
- //TODO: find where html=undefined and fix it! So I can remove this? Maybe I should keep this safety.
- var html = this.props.html || '';
- console.log('content editable render, html: ', this.props.html);
- return <div id="contenteditable"
- onInput={this.emitChange}
- onBlur={this.emitChange}
- contentEditable
- dangerouslySetInnerHTML={{__html: html}}></div>;
- },
- shouldComponentUpdate: function(nextProps){
- return nextProps.html !== this.getDOMNode().innerHTML;
- },
- emitChange: function(){
- var html = this.getDOMNode().innerHTML;
- if (this.props.onChange && html !== this.lastHtml) {
- this.props.onChange({
- target: {
- value: html
- }
- });
- }
- this.lastHtml = html;
- }
- });
- module.exports = ContentEditable;
- <div class='wrapper'>
- <div key={this.props.thing.id} dangerouslySetInnerHtml={this.props.thing.content} />
- </div>
- componentDidMount() {
- this.updateInnerHTMLFromProps();
- }
- componentDidUpdate() {
- this.updateInnerHTMLFromProps();
- }
- updateInnerHTMLFromProps() {
- this.refEl.innerHTML = this.props.html;
- }
Add Comment
Please, Sign In to add comment