Javascript 使用Draft.js从字符串创建状态时设置光标位置

Javascript 使用Draft.js从字符串创建状态时设置光标位置,javascript,reactjs,draftjs,Javascript,Reactjs,Draftjs,在创建了一个编辑器状态并启用了内容和一些装饰程序之后,如何设置光标位置。它总是从位置0开始 情况就是这样: 这就是我想要的: 下面是我如何创建状态的 constructor(props) { super(props) this.state = { editorState: this.getEditorState() } } getEditorState() { const { reply: { channel, userAccount } } = thi

在创建了一个编辑器状态并启用了内容和一些装饰程序之后,如何设置光标位置。它总是从位置0开始

情况就是这样:

这就是我想要的:

下面是我如何创建状态的

  constructor(props) {
    super(props)
    this.state = { editorState: this.getEditorState() }
  }

  getEditorState() {
    const { reply: { channel, userAccount } } = this.props
    const content = this.getEditorContent({ channel, userAccount })
    const decorators = this.getEditorDecorators(channel)
    return EditorState.createWithContent(content, decorators)
  }

  getEditorContent({ channel, userAccount }) {
    const content = channel && channel.prefill(userAccount)
    return ContentState.createFromText(content || '')
  }

  getEditorDecorators({ decorators }) {
    return getDecorators(decorators || [])
  }
在阅读了Draft.js存储库中的内容之后,我发现了一个静态方法,名为。我需要做的一切就是用这种方法,用这种方式来包装这个全新的状态

  getEditorState() {
    const { reply: { channel, userAccount } } = this.props
    const content = this.getEditorContent({ channel, userAccount })
    const decorators = this.getEditorDecorators(channel)
    const state = EditorState.createWithContent(content, decorators)
    return EditorState.moveSelectionToEnd(state)
  }