JSFiddle:https://jsfiddle.net/wc4cxnvx/
我输入“这是非常有趣的东西”并在编辑器中将文本设为绿色,然后使用convertToRaw保存为原始内容:
{
"entityMap":{},
"blocks":[{"key":"5bbf7","text":"this is very interesting thing",
"type":"unstyled",
"depth":0,
"inlineStyleRanges":[{"offset":0,"length":30,"style":"color-rgb(26,188,156)"}],
"entityRanges":[],
"data":{}}]
}
原始数据等同于HTML:
<p><span style="color: rgb(26,188,156);">this is very interesting thing</span></p>
我尝试使用原始内容和HTML恢复编辑器状态,既不在编辑器中显示文本颜色。对于每种情况,只显示没有绿色的简单“这是非常有趣的事情”。
我用来恢复编辑的代码:
来自raw:
editorState = EditorState.createWithContent(convertFromRaw(raw));
来自Html
let htmlBlocks = convertFromHTML(html);
let editorState = EditorState.createWithContent(ContentState.createFromBlockArray(htmlBlocks.contentBlocks, htmlBlocks.entityMap));
draft-js版本是0.10。有人可以帮忙吗?
答案 0 :(得分:1)
这不是草案js的错误。这是我使用的库中发生的错误。一旦我升级到最新版本,这个问题就消失了。