嗨,我有以下输入文字:
<input key={['event', indexEventType].join('_')} type="text" name="name" defaultValue={eventType.name} style={{ width: 100 + '%' }} onChange={(value) => this.handleChangeEventType(value, indexEventType)} />
当我在该组合框上写东西时,我只能输入一次,光标消失。
我看过这个链接,它解释了为什么会发生这种情况,但是那里提供的解决方案对我不起作用。
handleChange
方法也不是问题,因为我有多个使用相同的handleChange
的输入,并且除此输入外,其他所有输入均有效。
我知道为什么会这样,我要输入的变量名以某种方式干扰了道具(name="name"
)上的名字。
我正在设置输入值的变量也称为名称。
有解决方案吗?
答案 0 :(得分:0)
此处的属性名称=“ name”可能不是您的问题。
输入焦点松散通常是键更改的结果。 每当您更改组件的键时,React都会完全重新安装它,从而产生一个全新的元素。由于您从未与这个新元素互动,因此React不会将光标留在其中。
尝试根据用户输入设置一个静态密钥或一个不变的密钥,并检查问题是否消失。