diff --git a/src/stepper/index.js b/src/stepper/index.js index e7ab49f78..349db7de8 100644 --- a/src/stepper/index.js +++ b/src/stepper/index.js @@ -209,11 +209,11 @@ export default createComponent({ }, onFocus(event) { - this.$emit('focus', event); - // readonly not work in lagacy mobile safari if (this.disableInput && this.$refs.input) { this.$refs.input.blur(); + } else { + this.$emit('focus', event); } }, diff --git a/src/stepper/test/index.spec.js b/src/stepper/test/index.spec.js index 0a555e943..960aa76eb 100644 --- a/src/stepper/test/index.spec.js +++ b/src/stepper/test/index.spec.js @@ -173,14 +173,19 @@ test('input invalid value and blur', () => { }); test('stepper focus', () => { - const wrapper = mount(Stepper); + const wrapper = mount(Stepper, { + propsData: { + disableInput: true, + }, + }); const input = wrapper.find('input'); + + input.trigger('focus'); + expect(wrapper.emitted('focus')).toBeFalsy(); + + wrapper.setProps({ disableInput: false }); input.trigger('focus'); expect(wrapper.emitted('focus')).toBeTruthy(); - - wrapper.setProps({ disableInput: true }); - input.trigger('focus'); - expect(wrapper.emitted('blur')).toBeTruthy(); }); test('stepper blur', () => {