2016-09-27 24 views
0

當我在輸入字段(58.10)改變爲(58.1)時,一旦移除「0」,光標就移到5後面。我期望它在「1」旁邊。當值改變時,插入符號向左端移動

陣營:

// Props 
var data = [ 
    {unit_amount: 58.10, id: 1}, 
    {...}, 
    {unit_amount: 25.99, id: 3}, 
] 

_valueChange(i, e){ 
    e.preventDefault(); 
    var obj = this.props.data; 
    var num = obj.find(p => i === p.id); 

    num.unit_amount = e.target.value; 
}, 

// Render 

var lineItems = this.props.data.map(function(l){ 
    return(
    <tr key={l.id}> 
    <input type="number" value={l.unit_amount} onChange={this._valueChange.bind(this, l.id)} /> 
    </tr> 
) 
}) 

值改變確定,但光標(「管道」)進入到左一旦極端,我打的退格鍵一次。有任何想法嗎?

回答

0

可以在設置值之後設置光標位置,只需找到字符串的長度並將光標位置設置爲字符串的長度即可。

查看這篇文章瞭解您尋找的API。 Get caret position in HTML input?

+0

謝謝。這是唯一的選擇嗎?更多的代碼行? – Sylar

+0

好問題,過去我也有過類似的問題,我似乎記得像這樣解決問題。這就是我現在的想法... –

+0

我看到了這個問題。這是因爲當我改變這個值的時候,整個狀態被取代了。 – Sylar

相關問題