【发布时间】:2015-05-29 07:35:42
【问题描述】:
在这里反应新手。我有一个contenteditable div,其中有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} />
}
doSomething() 方法是我正在研究的。
【问题讨论】:
-
请向我们展示您目前拥有的代码
-
@marcel,已添加代码。
-
onInput应该怎么做?它有效吗?它是否按预期调用该方法? -
onInput在用户在 div 中输入文本时调用指定的函数。它工作正常。 -
好的。我不知道这个属性。 :-)
标签: javascript reactjs