[@dnd-kit/core, Safari] 在可滚动容器中拖动元素时,不会全部滚动到最上方。
作者: zenshidev创建于 2026年6月10日更新于 2026年8月13日
标签bug
最小可重现的仓库: https://GitHub.com/zenshidev/scroll-test 在 Safari 中,`scrollBy` 函数存在一个 bug,使用小数值(例如 `scrollBy(0.5, 1.5)`)会导致滚动出现问题,并阻止滚动到顶部或底部。这并不严格是 `@dnd-kit/core` 中的 bug,但新版本(`@dnd-kit/react`)由于 `Scroller` 直接增加或减少 `scrollTop` 和 `scrollLeft` 而没有这个 bug,而不使用 `AutoScroller` 中的 `scrollBy`。使用 `scrollTo(el.scrollLeft + offsetX, el.scrollTop + offsetY)` 也可以解决这个问题。
内容来源: clauderic/dnd-kit