diff --git a/packages/dropdown-item/index.js b/packages/dropdown-item/index.js index 7e36725f4..6bd1e077f 100644 --- a/packages/dropdown-item/index.js +++ b/packages/dropdown-item/index.js @@ -1,4 +1,4 @@ -import { use, isDef } from '../utils'; +import { use } from '../utils'; import Cell from '../cell'; import Icon from '../icon'; import Popup from '../popup'; @@ -19,7 +19,9 @@ export default sfc({ data() { return { - show: false + transition: true, + showPopup: false, + showWrapper: false }; }, @@ -36,7 +38,19 @@ export default sfc({ methods: { toggle(show) { - this.show = isDef(show) ? show : !this.show; + this.showPopup = !this.showPopup; + + if (this.showPopup) { + this.showWrapper = true; + } + }, + + hide(skipTransition) { + this.showPopup = false; + + if (skipTransition) { + this.transition = false; + } } }, @@ -52,7 +66,7 @@ export default sfc({ title={option.text} titleStyle={{ color: active ? activeColor : '' }} onClick={() => { - this.show = false; + this.showPopup = false; if (option.value !== this.value) { this.$emit('input', option.value); @@ -68,11 +82,11 @@ export default sfc({ const emit = eventName => () => this.$emit(eventName); return ( -