fix(Field): textarea line break failed on enter (#6263)

This commit is contained in:
neverland 2020-05-12 15:47:28 +08:00 committed by GitHub
parent 45f3c9e759
commit 0adfe59ddc
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 12 additions and 5 deletions

View File

@ -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') {

View File

@ -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();
});