Редактор DraftJS создать из HTML не работает - PullRequest
0 голосов
/ 04 июня 2018

Редактор запускается так, как будто в нем есть пустая строка!

Я пробовал это:

EditorState.createWithContent(ContentState.createFromText('Hello'))

и это:

const html = '<p>Hey this <strong>editor</strong> rocks ?</p>';
const contentBlock = htmlToDraft(html);
if (contentBlock) {
  const contentState = ContentState.createFromBlockArray(contentBlock.contentBlocks);
  const editorState = EditorState.createWithContent(contentState);
  this.state = {
    editorState,
  };
}

и это:

import htmlToDraft from 'html-to-draftjs'
htmlToDraft(text)

ничего не получалось!

1 Ответ

0 голосов
/ 06 июня 2018

Вы не показываете, что вы делаете с контентом, но следующее (то есть ваш первый вариант) работает правильно

<Editor
   editorState={EditorState.createWithContent(
          ContentState.createFromText("Hello")
     )}
/>

, как это:

import {
   Editor,
   EditorState,
   ContentState,
   convertFromHTML
} from "draft-js";

...

const blocksFromHTML = convertFromHTML(
  "<p>Hey this <strong>editor</strong> rocks ?</p>"
);

const content = ContentState.createFromBlockArray(
  blocksFromHTML.contentBlocks,
  blocksFromHTML.entityMap
);

return (
      <Editor editorState={EditorState.createWithContent(content)} />
);
...