无法将HTML转换为editorState

时间:2019-12-24 22:27:11

标签: javascript reactjs draftjs

好吧,我想做的就是用给定的HTML创建editorState,但是随着事情的发展(例如嵌套的div或表标签),编辑器似乎无法正确呈现它们;

这是我的代码:

const blocks = htmlToDraft(props.html);
const { contentBlocks, entityMap } = blocks;
const contentState = ContentState.createFromBlockArray(contentBlocks, entityMap);
const editorState = EditorState.createWithContent(contentState);

对于像<h1>Hey</h1>这样的简单示例,这完全可以,但是当我尝试类似

时,
<body style="--theme-text-color: #757575; --theme-secondary-text-color: 
hsla(0, 0%, 46%, 0.32); --theme-shadow-color: #FFFFFF;">
 <div data-x-div- type="html">
  <div data-x-div-type="body">
   <div style="padding: 10px; font-size: 12px; text-align: center; word- 
    wrap:break-word;"> 
     <div style="border:4px solid #f09650; padding: 15px; width: 370px;"> 
      <h2 style="margin: 5px; font-size: 18px; line-height: 1.4;">33</h2> 
      <span>Starts at ... </span><br> 
      <span>Calendar: sample@mail</span><br><br>
      <span></span><br> 
    </div> 
    <p style="color:#667766; width: 400px; font-size: 10px;">This message 
    arrived to your <a href="mailto:sample@mail">sample@mail</a> account 
    because you  ordered event notification</p> 
   </div>
  </div>
 </div>
</body>

编辑器仅将其解析为字符串,并且无法正确显示HTML。

我尝试了成千上万种不同的修复方法,例如import-html-draft-jsstate-from-html和其他附带的lib,但是它们没有效果。所以现在我真的很绝望,希望至少能得到提示。

0 个答案:

没有答案