Я бы подумал, что это очень распространенный запрос, но, тем не менее, я не могу найти ничего, чтобы помочь мне его решить. Я пробовал различные плагины, такие как draft-js-import-html
и варианты, но они, похоже, не работают, особенно когда вы добавляете изображение или вставляете видео.Использование проекта js с html in и html out
Вот пример HTML То, что я хотел бы использовать в редакторе:
var sampleMarkup = '<h1>Hello there</h1>' +
'<b>Bold text</b>, <i>Italic text</i>, <u>Underline text</u><br/ ><br />' +
'<a href="http://www.facebook.com">Example link</a>' +
'<img src="http://vignette1.wikia.nocookie.net/elderscrolls/images/6/64/Imga.jpg/revision/latest?cb=20110501053300" />' +
'<p>Hello there</p>' +
'<div class="responsive"><iframe width="560" height="315" src="https://www.youtube.com/embed/POrFPyHGKyw" frameborder="0" allowfullscreen></iframe></div>';
Он имеет некоторые основные h1
, bold
, ... а также изображения и фрейм и фрейм с оберткой чтобы сделать видеочувствительным.
Что бы я хотел, так это иметь редактор draft-js
, где я могу поместить HTML (как и выше) и поменять, возвращает мне HTML.
Так что, если я начну с этого, как я могу дать ему HTML и вернуть HTML?
import React, { PropTypes, Component } from 'react'
import ReactDOM from 'react-dom'
import {Editor, EditorState} from 'draft-js'
var sampleMarkup = '<h1>Hello there</h1>' +
'<b>Bold text</b>, <i>Italic text</i>, <u>Underline text</u><br/ ><br />' +
'<a href="http://www.facebook.com">Example link</a>' +
'<img src="./someImg.png" />' +
'<p>Hello there</p>' +
'<div class="responsive"><iframe width="560" height="315" src="youtube/link/here" frameborder="0" allowfullscreen></iframe></div>';
class MyEditor extends Component {
static propTypes = {
html: PropTypes.string,
onChange: PropTypes.func
}
constructor(props){
super(props);
// TODO: Convert HTML to state somehow using props.html
this.state = {
editorState: EditorState.createWithContent(html);
}
}
render(){
return (
<Editor
editorState={this.state.editor}
onChange={this._onChange.bind(this)}
/>
);
}
_onChange(editorState){
this.setState({editorState: editorState});
// Convert state to html somehow here
this.props.onChange(html);
}
}
Вы решили это как-то? У меня такая же проблема. Я хочу иметь дело только с html. – enapupe