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(1);
+ expect(inst.state.values[0].name).toBe('Leanne Graham');
+ });
+
+ it('does not remove via onKeyDown when backspaceDelete is false (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',