У меня есть поле (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)
/>;
Как мне этого избежать?