React Rich Text Editor - очистить состояние при ENTER - PullRequest
0 голосов
/ 10 октября 2019

Я хотел бы очистить состояние редактора React Rich Text (https://github.com/sstur/react-rte) при нажатии клавиши ввода.

Мое состояние выглядит следующим образом:

state = {
    value: RichTextEditor.createEmptyValue()
}

Компонент RichTextEditor предлагает предоставить свойство handleReturn. Таким образом, я реализовал следующую функцию handleReturn:

handleReturn = () => {this.setState(prevState => ({
      ...prevState,
      value: RichTextEditor.createValueFromString("", "html")
    }));
}

Когда я запускаю функцию handleReturn с помощью кнопки вне самого RichTextEditor, он работаетотлично, и состояние (и область ввода текста) очищается должным образом. Однако, когда тот же handleReturn запускается с клавиши ввода, это не очищает состояние, но я вижу, что функция handleReturn срабатывает правильно. Я передаю функциюк компоненту, подобному следующему:

<RichTextEditor handleReturn={this.handleReturn} value={this.state.value}
          onChange={this.onChange}/>

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

ОБНОВЛЕНИЕ: я в итоге реализовал базовую библиотеку draft.js (https://draftjs.org/) напрямую вместоБыл довольно плавный процесс, и он решил эту проблему, минуя использование react-rte. Поэтому рекомендую переключиться, если у вас есть такая возможность.

...