好吧,我想做的就是用给定的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-js
,state-from-html
和其他附带的lib,但是它们没有效果。所以现在我真的很绝望,希望至少能得到提示。