Javascript 使用受控输入对可编辑的div进行响应

Javascript 使用受控输入对可编辑的div进行响应,javascript,html,reactjs,input,contenteditable,Javascript,Html,Reactjs,Input,Contenteditable,有没有办法让受控输入内容成为可编辑的div 我正在寻找这种确切的行为,但我需要使用contentEditable div而不是输入: <input value={this.state.text}></input> Stackblitz:值不是div的有效属性。这是可以做到的,但没有得到官方的支持,而且肯定是非正统的 我建议您将stackblitz中的这一行更改为: <div style={{border: '1px solid black'}} contentEd

有没有办法让受控输入内容成为可编辑的div

我正在寻找这种确切的行为,但我需要使用contentEditable div而不是输入:

<input value={this.state.text}></input>

Stackblitz:

值不是
div的有效属性。这是可以做到的,但没有得到官方的支持,而且肯定是非正统的

我建议您将stackblitz中的这一行更改为:

<div style={{border: '1px solid black'}} contentEditable={true} value={this.state.text}></div>

为此:

<div style={{border: '1px solid black'}} contentEditable={true}>{this.state.text}</div>
{this.state.text}

在stackblitz中尝试此操作:
{this.state.text}
最初显示
this.state.text
,但如果键入,则停止。我更新了stackblitz@RobMollYes。如果您键入div,它会更改,但如果您键入输入,则不会更改。不确定您的意图是什么。我的意图是让它的行为与输入完全一样(我只是用contenteditable div替换一些输入,因为我需要更多的样式和事件控制)。不过,我想我应该能够按照你的建议,在我的应用程序的其他地方添加一些额外的活动,让它按照我的意愿工作。谢谢这并不能使它的行为与输入完全相同,但它可能是最好的选择,我可以在其他地方使用一些变通方法。再次感谢!
<div style={{border: '1px solid black'}} contentEditable={true}>{this.state.text}</div>