输入文本正在使用react失去焦点

时间:2019-06-08 19:38:36

标签: javascript reactjs

嗨,我有以下输入文字:

<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")上的名字。

我正在设置输入值的变量也称为名称。

有解决方案吗?

1 个答案:

答案 0 :(得分:0)

此处的属性名称=“ name”可能不是您的问题。

输入焦点松散通常是键更改的结果。 每当您更改组件的键时,React都会完全重新安装它,从而产生一个全新的元素。由于您从未与这个新元素互动,因此React不会将光标留在其中。

尝试根据用户输入设置一个静态密钥或一个不变的密钥,并检查问题是否消失。