facebookarchive/draft-js

Out of sync selectionState within decorator strategy

Open

#484 opened on Jun 23, 2016

View on GitHub
 (4 comments) (1 reaction) (0 assignees)JavaScript (2,646 forks)batch import
help wantedquestion

Repository metrics

Stars
 (22,554 stars)
PR merge metrics
 (No merged PRs in 30d)

Description

It would be nice for developers to be able to get the selectionState within a decorator strategy. When trying to do this with this.state.editorState.getSelection() inside of the decorator, the data seems to be out of sync.

Try creating a decorator with this strategy

strategy: (contentBlock, callback) =>  {
     const editorStateText = this.state.editorState.getCurrentContent().getPlainText();
     const contentBlockText = contentBlock.getText();

     console.log(editorStateText);
     console.log(contentBlockText);

     //...
},

You will notice that contentBlockText will be one character(or keystroke) ahead of editorStateText when typing.

Does getting an up-to-date selectionState within the decorator strategy seem like a good idea?

Contributor guide