我有一个绑定到表达式的字段(文本区域),为了使用户更容易使用,我们的业务逻辑要求用不同的颜色标记文本的各个部分。
由于无法使用文本区域进行操作,因此我使用ContentEditable
包进行反应,因此使用它存在一些问题(内部文本转换为带有特殊字符的HTML(例如< - <, > - >
),需要将其转换回去,以及其他一些症状)。
但是我目前的主要问题是,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)
/>;
如何避免呢?