From 5557dd66f52516088e8b3e19f1678691f610bb6a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=A2=81=E7=81=8F?= Date: Sun, 4 Dec 2016 13:52:51 +0800 Subject: [PATCH] update Dropdown update Dropdown --- src/components/dropdown/dropdown-item.vue | 10 ++++++---- src/components/dropdown/dropdown.vue | 7 +++++++ test/routers/dropdown.vue | 2 +- 3 files changed, 14 insertions(+), 5 deletions(-) diff --git a/src/components/dropdown/dropdown-item.vue b/src/components/dropdown/dropdown-item.vue index 31f98021..4441d842 100644 --- a/src/components/dropdown/dropdown-item.vue +++ b/src/components/dropdown/dropdown-item.vue @@ -36,16 +36,18 @@ }, methods: { handleClick () { + const $parent = this.$parent.$parent; if (this.disabled) { this.$nextTick(() => { - this.$parent.$parent.visible = true; + $parent.visible = true; }); } else { - if (this.$parent.$parent.trigger === 'hover') { - this.$parent.$parent.visible = false; + if ($parent.trigger === 'hover') { + $parent.visible = false; + $parent.$emit('on-hover-click'); } } - this.$parent.$parent.$emit('on-click', this.key); + $parent.$emit('on-click', this.key); } } } diff --git a/src/components/dropdown/dropdown.vue b/src/components/dropdown/dropdown.vue index a8f3e732..565f6af0 100644 --- a/src/components/dropdown/dropdown.vue +++ b/src/components/dropdown/dropdown.vue @@ -87,6 +87,13 @@ if ($parent && $parent.$options.name === 'Dropdown') { $parent.$emit('on-click', key); } + }, + 'on-hover-click' () { + const $parent = this.$parent.$parent; + if ($parent && $parent.$options.name === 'Dropdown') { + $parent.visible = false; + $parent.$emit('on-hover-click'); + } } } } diff --git a/test/routers/dropdown.vue b/test/routers/dropdown.vue index 155b271b..d6b5ca9f 100644 --- a/test/routers/dropdown.vue +++ b/test/routers/dropdown.vue @@ -1,5 +1,5 @@