我需要在我的基于draftJs的文本编辑器中创建仅注释/建议模式。当用户选择文本时,我的注释块(非常类似于“链接”)在嵌入式工具栏中。基于commentOnly状态,我仅在嵌入式工具栏中启用注释fn。
如果我使用readOnly = true,则选择内容后该工具栏将不会出现。因此,我让readOnly是正确的。但是,用户仍然可以将光标放置在编辑器中的任何位置并键入。每个动作都会不断调用onChange fn。如果我基于commentOnly状态禁用了onChange fn,那么当我单击带注释的文本时,该注释将不会显示。
那么我该如何阻止任何用户在编辑器中输入任何内容,但仍然让他们选择文本并对其进行评论?
感谢您的帮助。谢谢。
我已经尝试过 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) => {
}