我想导入或粘贴一个带有类名属性的简单 html 片段,以便在 Draft.js 编辑器中解析并激活这些类。类名的这种解析和设置应该独立于 html-tag 类型,例如<div>, <span>, <b>, <strong>
等。
起初,我认为这将是与 draft.js 相关的标准问题,但是我在网上没有找到任何答案,这就是我在这里提出问题的原因。
我坚持这个:
我看到,当我使用这个简单的 handlePastedText 函数时,粘贴了正确的 html 代码:
handlePastedText(text, html){
console.log(html);
return false;
}
// one <span class="blau">simple</span> test
使用这个 Draft-js 编辑器:
<Editor readOnly={this.state.readOnly}
editorState={this.state.editorState}
onChange={this.onChange}
handlePastedText={this.handlePastedText.bind(this)}/>
但是,对应的 draft-js 编辑器状态不知道类,因此在浏览器中没有相应地格式化。EditorState 是:
{"entityMap":{},
"blocks":[{ "key":"9fqpj","text":"one simple test",
"type":"unstyled",
"depth":0,
"inlineStyleRanges":[],
"entityRanges":[],
"data":{}}]}
回到这个 html 源代码:
<span data-text="true">one simple test</span>
我很想知道这个问题有一个优雅而简单的解决方案。只是将 classNames 导入 Draft.js 编辑器?也许我从错误的角度看待它,但我认为这对更广泛的受众是有益的,因为您可以在任何 Draft.js 可编辑的编辑器中轻松处理、粘贴和格式化具有任何(外部)样式的片段。
先感谢您!