mirror of
https://github.com/facebook/react.git
synced 2025-11-01 09:12:30 +00:00
[Flare] Fix keyboard keyup regression (#15938)
This commit is contained in:
Vendored
+5
-1
@@ -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(
|
||||
|
||||
Reference in New Issue
Block a user