Режим «Только комментарий» в редакторе Draft JS - PullRequest
0 голосов
/ 21 мая 2019

Мне нужно создать режим комментария / предложения только в текстовом редакторе на основе draftJ.У меня есть блок комментариев (очень похожий на ссылку) на встроенной панели инструментов, когда пользователь выбирает текст.Основываясь на состоянии commentOnly, я включаю только встроенный комментарий на панели инструментов.

Если я использую readOnly = true, панель инструментов после выбора содержимого не появится.Итак, я позволил readOnly быть правдой.Но пользователь все еще может поместить курсор в любом месте в редакторе и ввести.Каждое действие продолжает вызывать onChange fn.Если я отключу onChange fn, основываясь на состоянии commentOnly, то комментарий не будет отображаться, когда я нажму на закомментированный текст.

Итак, как мне запретить любому пользователю вводить что-либо в редакторе, но все же позволить им выбратьтекст и комментарий к нему?

Любая помощь приветствуется.Спасибо.

Я уже пробовал onChange = {! This.state.commentOnly?this.onChange: this.doNothing} и onKeypress = {(e) => {! this.state.commentOnly?e.preventDefault (): this.doNothing}}

Внутри конструктора:

this.onChange = (editorState, callback = null) => {
  if (this.state.editorEnabled || this.state.commentOnly) {
    this.setState({ editorState }, () => {
      if (callback) {
        callback();
      }
    });          
  }
};

this.doNothing = (editorState, callback = null) => {
}
...