From e36559708cb9e6717b4af9bc9bcaae5f954d0f71 Mon Sep 17 00:00:00 2001 From: Johan Hernefeldt Date: Fri, 8 Dec 2017 09:25:40 +0100 Subject: [PATCH 1/3] Dropdown: Click open uses `show-timeout` attribute --- packages/dropdown/src/dropdown.vue | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/packages/dropdown/src/dropdown.vue b/packages/dropdown/src/dropdown.vue index 5b14a628932..9fb1940aacd 100644 --- a/packages/dropdown/src/dropdown.vue +++ b/packages/dropdown/src/dropdown.vue @@ -128,7 +128,11 @@ }, handleClick() { if (this.triggerElm.disabled) return; - this.visible = !this.visible; + if (this.visible) { + this.hide(); + } else { + this.show(); + } }, handleTriggerKeyDown(ev) { const keyCode = ev.keyCode; From b4ff603720f6832b2dd7d867363b5c271574d1c0 Mon Sep 17 00:00:00 2001 From: Johan Hernefeldt Date: Fri, 8 Dec 2017 11:27:03 +0100 Subject: [PATCH 2/3] Dropdown: Modified test to work with `show-timeout` attribute --- test/unit/specs/dropdown.spec.js | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/test/unit/specs/dropdown.spec.js b/test/unit/specs/dropdown.spec.js index a2e31bf53ae..0e9d1d6c62b 100644 --- a/test/unit/specs/dropdown.spec.js +++ b/test/unit/specs/dropdown.spec.js @@ -81,7 +81,7 @@ describe('Dropdown', () => { it('trigger', done => { vm = createVue({ template: ` - + 下拉菜单trigger click @@ -100,14 +100,13 @@ describe('Dropdown', () => { let triggerElm = dropdownElm.children[0]; triggerEvent(triggerElm, 'mouseenter'); - dropdown.$nextTick(_ => { + setTimeout(_ => { expect(dropdown.visible).to.not.true; - triggerElm.click(); - dropdown.$nextTick(_ => { + setTimeout(_ => { expect(dropdown.visible).to.be.true; done(); - }); + }, 300); }); }); it('split button', done => { From 313ddfb15031ce9b413fc0f5efef47cf117ee441 Mon Sep 17 00:00:00 2001 From: Johan Hernefeldt Date: Fri, 8 Dec 2017 11:34:33 +0100 Subject: [PATCH 3/3] Dropdown: Clean up in testfix --- test/unit/specs/dropdown.spec.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/test/unit/specs/dropdown.spec.js b/test/unit/specs/dropdown.spec.js index 0e9d1d6c62b..37f7383dd6d 100644 --- a/test/unit/specs/dropdown.spec.js +++ b/test/unit/specs/dropdown.spec.js @@ -81,7 +81,7 @@ describe('Dropdown', () => { it('trigger', done => { vm = createVue({ template: ` - + 下拉菜单trigger click @@ -100,7 +100,7 @@ describe('Dropdown', () => { let triggerElm = dropdownElm.children[0]; triggerEvent(triggerElm, 'mouseenter'); - setTimeout(_ => { + dropdown.$nextTick(_ => { expect(dropdown.visible).to.not.true; triggerElm.click(); setTimeout(_ => {