reactjs - 具有动态默认值的输入不可编辑
问题描述
我的反应应用程序中有一个字段,其值可以是动态的,如果单击“新建”,其默认值为“”,如果单击表中的项目,它会使用相应的值填充输入字段。
但是,当我尝试向非空输入字段添加另一个文本时,该值不会改变。
这是我的输入字段:
<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
解决方案
推荐阅读
- javascript - JavaScript 中标准函数的范围是什么?
- javascript - 如何使用类名更改元素的可见性
- python - 如何在 Python 中加载图像路径?
- css - 尝试通过删除 -webkit-min-device-pixel-ratio 来简化 CSS 元查询
- python - 从python将mjpeg转换为h264
- openstack - Openstack安装无法访问外部网络
- python - 如何使用 python 从 IPrange/CIDR 解析/提取 IP?
- javascript - geoLocation 只能通过控制台工作?
- android - 单击列表视图的子项时启动活动(Android Studio)
- java - 如何在更改背景并使它们可见的同时在 JPanel 上添加 JPanel