在使用ant design过程中发现,当再Modal中使用时,浮动的下拉菜单时间选择菜单等不随Modal的滚动而一起滚动,有时候会被部分遮挡.
这是因为浮动层都是默认以body定位的,而Modal层滚动的时候body整体页面并没有滚动,所以导致浮动层不会跟随滚动. 解决方法就是使用Select中的getPopupContainer
和DatePicker中的getCalendarContainer
属性来改变浮动层绑定的元素
具体代码
<Modal
destroyOnClose
title='123'
width='800px'
visible={modalVisible}>
<div id='haha'>
<Select getPopupContainer={() => document.getElementById('haha')}>
{persons.map(p=> <Option key={p.id}>{p.name}</Option>)}
</Select>
<DatePicker getCalendarContainer={() => document.getElementById('haha')} />
</div>
</Modal>