首页 > 解决方案 > 具有动态默认值的输入不可编辑

问题描述

我的反应应用程序中有一个字段,其值可以是动态的,如果单击“新建”,其默认值为“”,如果单击表中的项目,它会使用相应的值填充输入字段。

但是,当我尝试向非空输入字段添加另一个文本时,该值不会改变。

这是我的输入字段:

<input type="text" className="form-control" placeholder="John" onChange={e => handleInputChange(e.target.value, "firstname")} value={selectedItem && selectedItem.client?.firstname }/>

selectedItem值是从一个名为 的道具中解构的selectedEvent,我这样做是因为道具是不可变的,我认为这就是问题所在。

编辑
我什至删除了onChange动态值并将动态值替换为静态值。但它根本没有改变。

编辑

<input type="text" className="form-control" placeholder="John" value="Hello world" onChange={e => console.log(e.target.value)}/>

我注意到,当我记录 onChange 结果时,它会显示Hello world以及您按下的任何键,无论是退格键还是任何字母,它只会删除或添加 1 个字母。

例如: 默认值:Hello world,当我输入 asdasd 时,它会记录Hello worlda
,当我按退格键时,它会记录Hello worl

标签: reactjsinput

解决方案


推荐阅读