From 79882ed2aca713bd62997ad84d44f5c92a7c51fe Mon Sep 17 00:00:00 2001 From: Jeff Date: Sun, 14 Apr 2019 09:35:16 -0500 Subject: [PATCH] ensure open-indicator can open the dropdown --- src/components/Select.vue | 21 +++++++++++++++------ 1 file changed, 15 insertions(+), 6 deletions(-) diff --git a/src/components/Select.vue b/src/components/Select.vue index f5597d6..047652b 100644 --- a/src/components/Select.vue +++ b/src/components/Select.vue @@ -547,15 +547,24 @@ * @param {Event} e * @return {void} */ - toggleDropdown(e) { - if (e.target === this.$refs.openIndicator || e.target === this.searchEl || e.target === this.$refs.toggle || - e.target.classList.contains('vs__selected') || e.target === this.$el) { + toggleDropdown (e) { + const toggleTargets = [ + this.$el, + this.searchEl, + this.$refs.toggle.$el, + this.$refs.openIndicator.$el, + ...Array.from(this.$refs.openIndicator.$el.children), + ]; + + const target = e.target; + + if (toggleTargets.includes(target) || target.classList.contains('vs__selected')) { if (this.open) { - this.searchEl.blur() // dropdown will close on blur + this.searchEl.blur(); // dropdown will close on blur } else { if (!this.disabled) { - this.open = true - this.searchEl.focus() + this.open = true; + this.searchEl.focus(); } } }