我有一个数字输入字段,它在用户键入时通过状态设置新值。这工作正常。但是,如果我向其添加小数(toFixed),则在仅输入一位数字后,光标将跳转到输入的末尾。例如,当我删除现有内容并键入其他内容时,就会发生这种情况。如果我在第一个和小数点之间添加一个数字,则光标不会跳转。有没有人以前遇到过这种情况,解决方案是什么?
小提琴显示问题:https : //jsfiddle.net/Inverness/k04yvq1u/
constructor() {
super()
this.state = {
number: 1
}
this.handleInputChange = this.handleInputChange.bind(this)
}
handleInputChange(event) {
console.log(event.target.value)
this.setState({
number: event.target.value
})
}
render() {
return (
<div>
<input
type="number"
value={ parseFloat(this.state.number).toFixed(2) }
onChange={ this.handleInputChange }
/>
</div>
)
}
Run Code Online (Sandbox Code Playgroud)