ant design中 Select/Dropdown/DatePicker/TimePicker放在Modal中时,不更随model滚动

在Ant Design的Modal组件中,Select、Dropdown、DatePicker和TimePicker的浮动菜单在Modal滚动时不会随之移动,可能导致被遮挡。原因是这些浮动层基于body定位,而Modal滚动时不改变body的位置。解决方案是利用Ant Design提供的属性,如Select的getPopupContainer和DatePicker的getPopupContainer,将浮动层绑定到Modal,以实现跟随滚动。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在使用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>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值