【发布时间】:2017-07-19 19:42:49
【问题描述】:
当我更新输入字段中的值时,光标会移动到字段的末尾,但我希望它保持在原来的位置。什么可能导致此问题?
<Input
type="text"
placeholder="test
name="test"
onChange={getOnChange(index)}
value={testVal}/>
其中 Input 是文本输入字段的组件,getOnChange 是:
const getOnChange = (index) =>
(event) => props.onChangeTest(event, index);
然后将其转移到父组件,在那里我通过 Redux 调度更新状态。我可以看到状态正在正常更新,但问题是光标没有停留在原位,并且总是移动到文本的末尾
【问题讨论】:
-
我觉得这个问题有点难以想象,但这里有一个关于类似问题的 React github 页面上的讨论,也许会有所帮助:github.com/facebook/react/issues/955
-
我已经看过并尝试了一些。
-
您是否也在寻找解决方案,或者只是好奇原因是什么?使用Modifying user input value in React controlled component 中所示的不受控组件有助于确保任何手动光标修改与输入值更改同步。
-
这能回答你的问题吗? React controlled input cursor jumps