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 (22,554 stars) (2,646 forks)batch import
help wantedquestion

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