【发布时间】:2022-10-04 18:46:27
【问题描述】:
我想用初始状态初始化 Draft.js 文本编辑器。所以我有这个字符串:
const sampleMarkup = '<p>Given <span style="color: #2a00ff;"><strong>Name</strong></span></p>';
我需要彩色文字。
我知道 convertFromHtml、htmlToDraft 和 stateFromHTML 之类的都不接受这个样式属性,所以我发现我可以将 stateFromHTML 与第二个参数选项一起使用。
const options = {
customInlineFn: (element, { Style }) => {
if (element.style.color) {
return Style('color-' + element.style.color);
}
}
};
const content = stateFromHTML(sampleMarkup, options);
const [editorState, setEditorState] = useState(EditorState.createWithContent(
content
));
我尝试这样做,但文字仍然不丰富多彩。另外,我尝试从
return Style('color-' + element.style.color);
至
return Style('CUSTOM_COLOR_' + element.style.color);
没有帮助。
另外,也许还有另一个用于反应的文本编辑器,我可以用它来更轻松地处理 HTML?
谢谢你的帮助 :)
【问题讨论】: