如何使用draft.js改变光标位置?

5

我想知道在使用键盘命令插入文本后,如何在draft.js中更改光标位置。因此,我目前正在使用_handleKeyCommand(cmd),以便在用户按下特定按钮时插入自定义文本块。接下来,我尝试了以下方法:

currentState = this.state.editorState;
var selectionState = this.state.editorState.getSelection().getStartKey();
this.setState({editorState: EditorState.forceSelection(currentState, selectionState)});

但是这个程序一直崩溃并显示错误信息:

TypeError: selection.getHasFocus 不是一个函数

尽管我已经导入了 SelectionState。那么我要如何正确地改变光标位置(最好是在插入之前的位置),我在这里做错了什么?

1个回答

4

var selectionState = this.state.editorState.getSelection().getStartKey(); 应该改为 var selectionState = this.state.editorState.getSelection()


很好!那么我如何修改选择状态呢? - nullmn
1
通过 selectionState=selectionState.merge({'forceKey':xxxx, focusOffset:5}) - Jiang YD
如何将光标聚焦到元素的最后一个字符? - Anil
1
@Anil 如果您的意思是将element转换为block,那么请将 focusOffset 设置为该块文本的长度。 - Jiang YD

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接