【发布时间】:2016-11-03 07:53:35
【问题描述】:
我有一个简单的反应类,它呈现一个数字类型的受控输入框。
var Form = React.createClass({
getInitialState: function() {
return { value: 12.12 };
},
handleChange: function(e) {
this.setState({ value: e.target.value });
},
render: function() {
return (
<input
onChange = {(e) => this.handleChange(e)}
type = "number"
value = {this.state.value}
/>
);
}
});
ReactDOM.render( <Form /> , document.getElementById('container'));
此代码在此jsfiddle 中。
要更改数值,当我一个一个删除数字并删除小数点时,焦点突然转移到输入框的开头。
这发生在最新的 Chrome 浏览器 (54.0.2840.87) 上,但不会在 Firefox 上发生。
如果我在 Chrome 上使用 defaultValue 而不是 state 中的值,即使我在数字上添加了十进制值,焦点也会转移到开头。 (问题发生在添加小数或删除小数部分) 请参考这个jsfiddle。
我看到了类似问题here 的答案。但是当我尝试删除直到小数点的数字时,Chrome 中的问题仍然存在。
有没有办法解决这个问题?
提前感谢您的帮助。
【问题讨论】:
标签: javascript google-chrome reactjs