react+antd Select下拉框位置随页面偏移

<Select style={{width: 200}} getPopupContainer={triggerNode => (triggerNode.parentElement || document.body)}>
</Select>

根据官方Api,若位置发生偏移,添加getPopupContainer属性,使其依附于其父节点,默认是body

 

但是在后续的开发中,碰到了一种情况:

<div>
    <span>
        <Select  getPopupContainer={triggerNode => (triggerNode.parentElement || document.body)}>
            ...
        </Select>
    </span>
</div>

这样还是会发生下了拉框偏移,怀疑Select组件没有找到正确的父元素,所以默认为了body,于是我尝试换了一种写法

<Row>
    <span>
        <Select  getPopupContainer={triggerNode => (triggerNode.parentElement || document.body)}>
            ...
        </Select>
    </span>
</Row>

我将最外层的div换成了antd特有的Row组件,结果成功了,所以总结如下:

若要解决Select下拉框位置偏移问题,有两要素:

①添加getPopupContainer属性

②最外层元素要是antd组件,不能是平常的div,span等元素

 

  • 5
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值