From 3bbcec8a10445c77d6c28e1a72701a8baabf03d6 Mon Sep 17 00:00:00 2001 From: Ernest Date: Fri, 26 Feb 2021 20:58:05 +0800 Subject: [PATCH] fix(select): emit blur event (#1504) (#1506) --- packages/select/__tests__/select.spec.ts | 23 +++++++++++++++++++++++ packages/select/src/select.vue | 2 +- 2 files changed, 24 insertions(+), 1 deletion(-) diff --git a/packages/select/__tests__/select.spec.ts b/packages/select/__tests__/select.spec.ts index a73a6ba5a4..6f0a2c20a4 100644 --- a/packages/select/__tests__/select.spec.ts +++ b/packages/select/__tests__/select.spec.ts @@ -519,6 +519,29 @@ describe('Select', () => { expect(handleBlur).toHaveBeenCalled() }) + test('event:focus & blur for multile & filterable select', async () => { + const handleFocus = jest.fn() + const handleBlur = jest.fn() + const wrapper = _mount(` + `, () => ({ + handleFocus, + handleBlur, + })) + const select = wrapper.findComponent(({ name: 'ElSelect' })) + const input = select.find('input') + + expect(input.exists()).toBe(true) + await input.trigger('focus') + expect(handleFocus).toHaveBeenCalled() + await input.trigger('blur') + expect(handleBlur).toHaveBeenCalled() + }) + test('should not open popper when automatic-dropdown not set', async () => { const wrapper = getSelectVm() const select = wrapper.findComponent({ name: 'ElSelect' }) diff --git a/packages/select/src/select.vue b/packages/select/src/select.vue index 9fd101dc69..2afd494059 100644 --- a/packages/select/src/select.vue +++ b/packages/select/src/select.vue @@ -79,7 +79,7 @@ :autocomplete="autocomplete" :style="{ 'flex-grow': '1', width: inputLength / (inputWidth - 32) + '%', 'max-width': inputWidth - 42 + 'px' }" @focus="handleFocus" - @blur="softFocus = false" + @blur="handleBlur" @keyup="managePlaceholder" @keydown="resetInputState" @keydown.down.prevent="navigateOptions('next')"