diff --git a/packages/popover/src/main.vue b/packages/popover/src/main.vue index ab5d06018..bdb938c99 100644 --- a/packages/popover/src/main.vue +++ b/packages/popover/src/main.vue @@ -77,6 +77,14 @@ export default { } }, watch: { + value: { + immediate: true, + handler(val) { + if (val) { + this.$nextTick(()=> off(this.referenceElement, 'click', this.doToggle)); + } + } + }, showPopper(val) { if (this.disabled) { return; @@ -92,6 +100,8 @@ export default { if (!reference && this.$refs.wrapper.children) { reference = this.referenceElm = this.$refs.wrapper.children[0]; } + + this.referenceElement = reference; // 可访问性 if (reference) { addClass(reference, 'el-popover__reference'); diff --git a/src/utils/vue-popper.js b/src/utils/vue-popper.js index ca35df92b..9cd6fa48f 100644 --- a/src/utils/vue-popper.js +++ b/src/utils/vue-popper.js @@ -56,7 +56,8 @@ export default { data() { return { showPopper: false, - currentPlacement: '' + currentPlacement: '', + referenceElement: null }; },