我有以下反應組分:陣營組件和無效的輸入
var App = React.createClass({
getInitialState: function() {
return {value: 4.5}
},
change: function(event) {
this.setState({value: parseFloat(event.target.value)});
},
render: function() {
return <input type="number" value={this.state.value} onChange={this.change}/>;
}
});
React.render(<App/>, document.body);
你可以在這裏看到:http://jsfiddle.net/2hauj2qg/
的問題是,如果我要輸入一個數字,如:「4.7」 。當用戶輸入「4.」時,由於被轉換爲背後的浮動,它變爲「4」。但是這會中斷用戶輸入的內容。解決這個問題的建議方法是什麼?
正如我在我的問題中指出的,我知道這是因爲parseFloat。你的解決方案會讓我存儲字符串,但我需要在我的數據模型中的實際數字,而不是一個字符串。 –
'this.state'是UI狀態,可以在將它傳遞到其他地方之前轉換爲數字。我知道沒有更好的解決方案。 – FakeRainBrigand