使用antd的Select组件,Cascader组件,DatePicker等下拉选项必须要添加的getPopupContainer(解决选项框随页面滚动分离问题)

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

这个属性,看似不重要的属性,却起着重大的作用。

效果图:

当数据比较多的,可以滚动的时候。点击选择框,滑动滚轮

没有添加这个属性的时候:

当没有这个属性的时候 随着滚动 选项会和选择框分离。

当添加这个属性后:

点击后滚动就不会分离

如何添加:

<span className={styles.SeachMargin} id='Select'>

<Select style={{ width: 120 }} onChange={handleSelect} allowClear defaultValue="请选择状态"

getPopupContainer={()=>document.getElementById('Select')}

>

在下拉框的父节点设置一个id,在下 拉框中getPopupContainer={()=>document.getElementById(父节点设置的id)   

使用getPopupContainer属性: select组件,Cascader组件    

使用getCalendarContainer属性: DatePicker组件

在antd的每个组件api中都有说明是使用getPopupContainer还是getCalendarContainer

、、、、、2019.04.24更新、、、、、

现在antd又给出简单的处理方式:

1,getPopupContainer属性的,可以直接使用 getPopupContainer={triggerNode => triggerNode.parentNode}

2,getCalendarContainer属性的,默认为 body 上新建 div,可能不需要设置这个属性。如果需要设置可以按照上文中那样设置

 

-------------------------------------------------------------------------------------------------------------------------------------------------------------------如遇到问题:+WX:WAZJ-0508,及时联系---------------------------------------------------------------------------------------------------------------------------------------------------

  • 11
    点赞
  • 35
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 13
    评论
评论 13
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Zeng__Y1

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值