2017-05-15 33 views
0

如何編輯與型號的輸入標籤onInputChange時,纔會執行,而且僅執行onInputChange時,輸入被擊中?編輯輸入的標籤類型和數量時,輸入被擊中

比方說,我有我的JSX輸入標籤呈現這樣

<input type='number' value={this.state.currentIndex} onChange={event => this.onInputChange(event.target.value)}/> 

而是在發生變化時發射了功能的功能,我想只有火onInputChange功能,當我按下回車

我使用onkeypress事件,並與onkeydown事件默認值以及實際編輯輸入值嘗試,但這些都不似乎工作。

的目標是改變輸入標籤的編號,然後按回車鍵爲我的功能,斷火,同時還通過它,我進入了新的價值。 有人可以告訴我這個輸入標籤應該如何格式化。

+2

使用'keydown'事件和檢查關鍵代碼'13'。 –

+0

我已經嘗試了keydown事件,問題是要確保我的輸入標籤值的狀態相匹配,所以當我手動更改它並回車運行任務,但是當我要通過我的指標值/狀態得到更新。 – Jack

回答

1

在這種情況下,我認爲你應該使用uncontrolled components而不是使用onChange事件使用onKeyDown並檢查keyCode。 邀請碼進入關鍵的是13所以如果鍵的用戶按下的鍵碼是13,然後做你想要做的任務。

使用此:

<input onKeyDown={event => this.onInputChange(event)}/> 

onInputChange(event){ 
    if(event.keyCode == 13){ 
     //do the task 
    } 
} 
+0

你是否想要傳遞值,然後調用'.keyCode'? – larz

+0

沒有抱歉,忘了編輯該部分感謝:) –