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,及时联系---------------------------------------------------------------------------------------------------------------------------------------------------