[Flare] Fix keyboard keyup regression (#15938)

This commit is contained in:
Dominic Gannaway
2019-06-20 17:00:09 +01:00
committed by GitHub
parent 3d0af2aea8
commit 5368f7316c
2 changed files with 7 additions and 1 deletions
+5 -1
View File
@@ -871,6 +871,7 @@ const PressResponder = {
return;
}
isKeyboardEvent = true;
removeRootEventTypes(context, state);
}
// Determine whether to call preventDefault on subsequent native events.
@@ -940,7 +941,10 @@ const PressResponder = {
}
case 'click': {
removeRootEventTypes(context, state);
// "keyup" occurs after "click"
if (state.pointerType !== 'keyboard') {
removeRootEventTypes(context, state);
}
if (state.shouldPreventClick) {
nativeEvent.preventDefault();
}
@@ -335,6 +335,8 @@ describe('Event responder: Press', () => {
it('is called after "keyup" event for Enter', () => {
ref.current.dispatchEvent(createKeyboardEvent('keydown', {key: 'Enter'}));
// click occurs before keyup
ref.current.dispatchEvent(createKeyboardEvent('click'));
ref.current.dispatchEvent(createKeyboardEvent('keyup', {key: 'Enter'}));
expect(onPressEnd).toHaveBeenCalledTimes(1);
expect(onPressEnd).toHaveBeenCalledWith(