美文网首页
antd vue 解决a-select下拉菜单跟随页面滚动

antd vue 解决a-select下拉菜单跟随页面滚动

作者: jia林 | 来源:发表于2022-09-20 20:28 被阅读0次

    遇到的坑当然要分享啦

    官方原话:getPopupContainer菜单渲染父节点。默认渲染到 body 上,如果你遇到菜单滚动定位问题,试试修改为滚动的区域,并相对其定位。

    场景1

    • 下拉菜单跟随滚动走动了,因为默认的是:getPopupContainer="() => document.body"

      image.png
    • 解决方案:getPopupContainer="triggerNode => triggerNode.parentNode"

      image.png

    场景2

    • 当表格里出现select时,就会出现以下情况


      image.png
    • 解决方案手动指定到对应节点上

    给父级定义个 id="tableBox" 属性
    
    // select 属性上绑定
    :getPopupContainer="() => getPopupContainerEl"
    
    // data 里定义
    data() {
        return {
            getPopupContainerEl: document.body   // 先给个默认值
        }
    }
    
    // mounted 里重新赋值
      mounted() {
        this.$nextTick(() => {
      // 这一步重新赋值的原因是,因为没有获取dom,等页面渲染完在获取
          this.getPopupContainerEl = document.getElementById('tableBox')
        })
    
      },
    
    
    image.png

    这样就完美解决了....

    相关文章

      网友评论

          本文标题:antd vue 解决a-select下拉菜单跟随页面滚动

          本文链接:https://www.haomeiwen.com/subject/ulpvortx.html