在此處反應新手。我有一個contenteditable
div,它有dangerouslySetInnerHTML
作爲孩子,因爲我需要在運行時格式化用戶輸入的任何內容。在特定的範圍內點擊HTML,我想setState
包含組件的變量之一。從onclick中調用React組件函數危險地設置inHTML
可以這樣做嗎?
如果不是,我應該如何改變我的結構?
下面的代碼:
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
@marcel,已添加代碼。 – user4773422
'onInput'應該做些什麼?它工作嗎?它是否按預期調用方法? – marcel