2016-08-15 29 views
10

我試圖模擬keyDown事件,特別是Enter,keyCode: 13。我已經嘗試了許多不同的方式來做到這一點,但他們都沒有工作。我也在網上查看,似乎這個功能要麼是在當前版本的Enzyme中運行,要麼不運行。有沒有人知道這個功能是否可以工作,如果是這樣,模擬一個輸入或其他類型的按鍵事件的正確語法是什麼?謝謝!你如何模擬酵素中的keyDown進入事件(或其他)?

這是我現在,它不工作:

const input = wrapper.find('input'); 
input.simulate('keyDown', {keyCode: 13}); 

我現在的酶的版本是2.4.1

+0

這應該工作。你在使用「淺」還是「掛載」? – ZekeDroid

+0

我正在使用'mount' – reectrix

+0

@ZekeDroid是否有任何確定的方法來驗證它的工作?我對它是否工作的測試包括檢查是否創建了一個新組件,在這種情況下,這沒有發生。此外,我在使用酶的「sinon」和「chai」間諜工具時遇到了問題,所以我無法使用這些工具來驗證用戶事件。 – reectrix

回答

0
wrapper.find('input').simulate('keydown'); 

它爲我...

7

相反使用keyCode,我使用了一個密鑰,在'Enter'的情況下,使用:

wrapper.find('input').simulate('keypress', {key: 'Enter'}) 
+0

我試過它不起作用 – pritesh

+0

它爲我工作,並澄清,我使用酵素與Jest。 – alexfigtree

+2

哦,我得到了問題。 「keyPress」應該是「按鍵」。爲我工作! – pritesh

相關問題