在这里反应新手.我有一个contenteditablediv dangerouslySetInnerHTML作为孩子,因为我需要在运行时格式化用户输入的内容.在特定范围内单击HTML内部,我想要setState包含组件的变量之一.
可以这样做吗?
如果没有,我应该如何改变我的结构?
这是代码:
updateText:function(){
var txt = $('#text_Box').text();
if(txt.indexOf('@Name') > -1)
{
txt = txt.replace('@Name','<span class=\'tagged\' contenteditable = \'false\' onclick=\'doSomething()\'>:Name</span>');
}
this.setState({userText:txt});
},
render:function(){
return <div className="inputDiv" contentEditable="true" type="text" className="form-control" id="text_Box" dangerouslySetInnerHTML={{__html:this.state.userText}} onInput = {this.updateText} />
}
Run Code Online (Sandbox Code Playgroud)
我正在采取doSomething()方法.