使用Draft-JS,我有一大块代码会在单击'Return'时用实体替换一个单词,所以用户输入'我喜欢茄子'然后'返回'他们应该看到'我喜欢:茄子: “
添加实体后,当我执行撤消(toByteArray()
,没有任何花哨)时,它会删除我的所有句子而不仅仅是实体。根据我读到的关于Draft-JS的内容,我原本期望它恢复为“我喜欢茄子”,这是理想的效果。
此代码从完整代码中删除了可读性,但正确地演示了这一点
ctrl z
答案 0 :(得分:1)
EditorState.push()
API说Based on the changeType, this ContentState may be regarded as a boundary state for undo/redo behavior.
我发现用户定义的changeType
将构成边界,所以只需推动:
变化
const newEditorState = EditorState.set(editorState, { currentContent: newContentState });
与
const newEditorState = EditorState.push(editorState, newContentState ,"addentity");