From 535e7ca4a8f710b5bd82e1fd46fdc37c6af33175 Mon Sep 17 00:00:00 2001 From: jetbn Date: Mon, 31 Oct 2022 17:38:16 +0800 Subject: [PATCH] fix: popper trigger is click use v-model bugs --- packages/popover/src/main.vue | 10 ++++++++++ src/utils/vue-popper.js | 3 ++- 2 files changed, 12 insertions(+), 1 deletion(-) 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 }; },