diff --git a/src/Creatable.js b/src/Creatable.js index 6732d98398..1325d78513 100644 --- a/src/Creatable.js +++ b/src/Creatable.js @@ -157,7 +157,7 @@ const Creatable = React.createClass({ }, onInputKeyDown (event) { - const { shouldKeyDownEventCreateNewOption } = this.props; + const { shouldKeyDownEventCreateNewOption, onInputKeyDown } = this.props; const focusedOption = this.select.getFocusedOption(); if ( @@ -169,6 +169,8 @@ const Creatable = React.createClass({ // Prevent decorated Select from doing anything additional with this keyDown event event.preventDefault(); + } else if (onInputKeyDown) { + onInputKeyDown(event); } }, diff --git a/test/Creatable-test.js b/test/Creatable-test.js index de6bfa42ff..968478fd9a 100644 --- a/test/Creatable-test.js +++ b/test/Creatable-test.js @@ -232,4 +232,9 @@ describe('Creatable', () => { expect(test(188), 'to be', true); expect(test(1), 'to be', false); }); + + it('default :onInputKeyDown should run user provided handler.', (done) => { + createControl({ onInputKeyDown: event => done() }); + return creatableInstance.onInputKeyDown({ keyCode: 97 }); + }); });