diff --git a/src/popover/demo/index.vue b/src/popover/demo/index.vue
index c279f6af0..2ff184a6f 100644
--- a/src/popover/demo/index.vue
+++ b/src/popover/demo/index.vue
@@ -45,6 +45,7 @@
diff --git a/src/popover/index.js b/src/popover/index.js
index 3b5c35f67..a06ea3522 100644
--- a/src/popover/index.js
+++ b/src/popover/index.js
@@ -1,5 +1,6 @@
import { createPopper } from '@popperjs/core/lib/popper-lite';
import offsetModifier from '@popperjs/core/lib/modifiers/offset';
+import extendsHelper from '@babel/runtime/helpers/esm/extends';
import { createNamespace } from '../utils';
import { BORDER_BOTTOM } from '../utils/constant';
@@ -10,6 +11,12 @@ import { ClickOutsideMixin } from '../mixins/click-outside';
import Icon from '../icon';
import Popup from '../popup';
+// add Object.assign polyfill for popper.js
+// see: https://popper.js.org/docs/v2/browser-support/
+if (!Object.assign) {
+ Object.assign = extendsHelper;
+}
+
const [createComponent, bem] = createNamespace('popover');
export default createComponent({