出现原因
下拉弹出的列表div
是添加到body
下的。当滚动条滚动时,初始化计算的top
、left
属性不会更新,因此组件会随着滚动条上下移动。
解决方案
单个组件解决方案
<Select getPopupContainer={trigger => trigger.parentElement}>
全局解决方案
<ConfigProvider :getPopupContainer='getPopupContainer'>// functionfunction getPopupContainer(trigger) {return trigger?.parentElement || document.body}
参考
/ant-design/ant-design/issues/3
https://ant.design/docs/react/faq-cn#Select-Dropdown-DatePicker-TimePicker-Popover-Popconfirm-%E4%BC%9A%E8%B7%9F%E9%9A%8F%E6%BB%9A%E5%8A%A8%E6%9D%A1%E4%B8%8A%E4%B8%8B%E7%A7%BB%E5%8A%A8%EF%BC%9F