Реагировать, ContentEditable на событие события onChange - PullRequest
0 голосов
/ 19 марта 2020

У меня есть поле (textarea), которое связано с выражением, чтобы было проще для пользователей, наша бизнес-логика c требует пометить части текста разными цветами.

Поскольку это невозможно сделать с текстовой областью, я использовал пакет ContentEditable для реагирования, с ним возникают некоторые проблемы (текст внутри преобразуется в HTML со специальными символами (например, * 1004). *) которые нужно перевести обратно, и некоторые другие симптомы).

Но сейчас моя главная проблема в том, что событие onChange() вызывается каждый раз, когда я касаюсь div (фокусируюсь), затем оставляю его (потерял фокус), а не только при изменении его значения !!

import ContentEditable from "react-contenteditable";

<ContentEditable
  name={inputName}
  innerRef={this.contentEditable}
  html={element.Value}
  onChange={e => {
    // console.log(".....", e.target.value)
    this.handleContentEditableDivChange(e, element.Id, element.Name);
  }} // handle innerHTML change
  tagName="article" // Use a custom HTML tag (uses a div by default)
/>;

Как мне этого избежать?

...