From 9647777764c90b1c38aa55b55c6ff13156b25a32 Mon Sep 17 00:00:00 2001 From: Sasha Khamkov Date: Wed, 26 Aug 2026 23:22:29 +0300 Subject: [PATCH] fix(default values): handleKeyDownFn closes #367 --- .../__tests__/use-cases/keyboard.test.js | 48 +++++++++++++++++++ packages/react-dropdown-select/src/index.tsx | 2 +- 2 files changed, 49 insertions(+), 1 deletion(-) diff --git a/packages/react-dropdown-select/__tests__/use-cases/keyboard.test.js b/packages/react-dropdown-select/__tests__/use-cases/keyboard.test.js index eb7d9341..dfa398e5 100644 --- a/packages/react-dropdown-select/__tests__/use-cases/keyboard.test.js +++ b/packages/react-dropdown-select/__tests__/use-cases/keyboard.test.js @@ -250,6 +250,54 @@ describe('Backspace delete', () => { expect(inst.state.values).toHaveLength(2); }); + + it('removes last value via onKeyDown on the select div (DOM path)', () => { + const component = selectWithProps( + , + ); + + const inst = component.getInstance(); + expect(inst.state.values).toHaveLength(2); + + const selectDiv = findByClassName(component, 'react-dropdown-select'); + TestRenderer.act(() => { + selectDiv.props.onKeyDown({ key: 'Backspace', preventDefault: () => {} }); + }); + + expect(inst.state.values).toHaveLength(2); + }); }); describe('ArrowUp navigation', () => { diff --git a/packages/react-dropdown-select/src/index.tsx b/packages/react-dropdown-select/src/index.tsx index 9a5c51af..94883f8f 100644 --- a/packages/react-dropdown-select/src/index.tsx +++ b/packages/react-dropdown-select/src/index.tsx @@ -117,7 +117,7 @@ export const defaultProps: Partial> = { dropdownHandle: true, dropdownHeight: '300px', dropdownPosition: 'bottom', - handleKeyDownFn: () => undefined, + handleKeyDownFn: undefined, keepOpen: false, keepSelectedInList: true, labelField: 'label',