从具有Draft.js的字符串创建状态时设置光标位置

时间:2017-08-21 13:54:38

标签: javascript reactjs draftjs

如何在Draft.js上创建包含内容和一些装饰器的EditorState后设置光标位置。它始终从位置0开始。

这就是:

enter image description here

这就是我想要的:

enter image description here

以下是我创建状态的方法。

  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 || [])
  }

1 个答案:

答案 0 :(得分:2)

从Draft.js存储库中读取issue 224后,我发现了一个名为moveSelectionToEnd的静态方法。我需要做的就是用这种方法包裹全新的状态。

imputedata <- mice(origdata,m=5,maxit=50,meth='pmm',seed=500)