diff --git a/src/field/index.js b/src/field/index.js index 404efd09b..6b33b71ac 100644 --- a/src/field/index.js +++ b/src/field/index.js @@ -356,7 +356,10 @@ export default createComponent({ const ENTER_CODE = 13; if (event.keyCode === ENTER_CODE) { - preventDefault(event); + // should not submit form on etner + if (this.type !== 'textarea') { + preventDefault(event); + } // trigger blur after click keyboard search button if (this.type === 'search') { diff --git a/src/field/test/index.spec.js b/src/field/test/index.spec.js index 6c157181a..f1758019c 100644 --- a/src/field/test/index.spec.js +++ b/src/field/test/index.spec.js @@ -345,14 +345,18 @@ test('colon prop', () => { test('should blur search input on enter', () => { const wrapper = mount(Field); - const input = wrapper.find('input'); - input.element.focus(); + wrapper.find('input').element.focus(); + wrapper.find('input').trigger('keypress.enter'); + expect(wrapper.emitted('blur')).toBeFalsy(); - input.trigger('keypress.enter'); + wrapper.setProps({ type: 'textarea' }); + wrapper.find('textarea').element.focus(); + wrapper.find('textarea').trigger('keypress.enter'); expect(wrapper.emitted('blur')).toBeFalsy(); wrapper.setProps({ type: 'search' }); - input.trigger('keypress.enter'); + wrapper.find('input').element.focus(); + wrapper.find('input').trigger('keypress.enter'); expect(wrapper.emitted('blur')).toBeTruthy(); });