我有一个数字输入字段,可以在用户键入时通过状态设置新值。这工作正常。但是,如果我向它添加小数(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>
)
}