家伙!请帮忙。
我想要的是什么:当从新行开始时,用户键入一个URL并按Enter
我想删除包含该URL的块并将其替换为自定义{{1} }}。与文档中的Media示例非常相似,但没有Entity
按钮。
我尝试了什么:(只是草稿)
Add image
它几乎可以满足我的需要,但是按下退格键无法删除插入的块,光标只会跳到右上角。
我的问题:更换积木的推荐方法是什么?你怎么删除一个块?为什么我的插入块不会被删除?
谢谢!
答案 0 :(得分:1)
我最终使用Modifier.removeRange
而不是a
来解决这个问题。您可以做的就是找到URL的初始索引和URL的最后索引(让我们分别称为b
和let newSelection = editorState.getSelection();
newSelection = newSelection.merge({
anchorOffset: a,
focusOffset: b
});
let newContent = Modifier.replaceText(editorState.getCurrentContent(), newSelection, "");
let newState = EditorState.push(editorState, newContent, 'insert-characters');
this.setState({ editorState: newState });
),我们可以执行以下操作:
newSelection
您还可以根据需要定义ContentBlocks
,因此,如果您希望按{{1}}进行分区,则可以。