element,下拉位置错位并在vue-popper报:PopperJS is not a constructor"

发布于 2022-09-06 22:56:21 字数 1518 浏览 13 评论 0

elementUI使用select时,下拉位置错位并在vue-popper报TypeError: PopperJS is not a constructor"
clipboard.png

[Vue warn]: Error in event handler for "updatePopper": "TypeError: PopperJS is not a constructor"

found in

---> <ElSelectDropdown> at src/lib/ele-components/select/src/select-dropdown.vue
       <ElSelect> at src/lib/ele-components/select/src/select.vue
         <App> at example/App.vue
           <Root>

源码 src/utils/vue-popper

updatePopper时是undefined
createPopper里报了TypeError: PopperJS is not a constructor"

不知道哪里出了问题,
``
createPopper() {

  //...
  //  这里创建实例时报错 不是一个构造函数
  this.popperJS = new PopperJS(reference, popper, options);
  this.popperJS.onCreate(_ => {
    this.$emit('created', this);
    this.resetTransformOrigin();
    this.$nextTick(this.updatePopper);
  });
  if (typeof options.onUpdate === 'function') {
    this.popperJS.onUpdate(options.onUpdate);
  }
  this.popperJS._popper.style.zIndex = PopupManager.nextZIndex();
  this.popperElm.addEventListener('click', stop);
},

updatePopper () {

  const popperJS = this.popperJS; // 这里是undefined!
  if (popperJS) {
    popperJS.update();
    if (popperJS._popper) {
      popperJS._popper.style.zIndex = PopupManager.nextZIndex();
    }
  } else {
    this.createPopper();
  }
},

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

宫墨修音 2022-09-13 22:56:21

已处理,是webpack配置问题,webpack里排除对引入文件popper.js的编译就好了。

可能是引入js文件已经经过编译,再次编译就会出问题。

与酒说心事 2022-09-13 22:56:21

你的PopperJS应该不是一个构造函数,是从哪儿引用的

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文