首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在Framer中使拖动手柄正确拖动?

如何在Framer中使拖动手柄正确拖动?
EN

Stack Overflow用户
提问于 2019-12-18 19:40:21
回答 1查看 2.4K关注 0票数 2

我想复制这个教程(https://www.youtube.com/watch?v=UMGnYRJuJog),它展示了如何在Framer中创建一个拖动句柄。使用framer-motion,我认为它有效,但是在拖动时我得到了额外的空间,这是不应该发生的。这可能与display: flex有关,但我不完全确定,是做错了什么,还是framer-motion.中的bug

CodeSandbox reproduction

https://codesandbox.io/s/jolly-cerf-kh9o5

复制的步骤

创建两个面板和一个拖动手柄,并使手柄将宽度添加到一个面板并从另一个面板中减去。

期望行为

手柄应该拖动,并且没有额外的空间。它也应该跟随鼠标,这是它没有做的。

视频再现

https://imgur.com/J2fUUWh.gif

环境详细信息

Windows 10,Chrome

EN

回答 1

Stack Overflow用户

发布于 2019-12-31 21:51:05

这里的诀窍是首先使用运动值控制容器的y位置,然后使用onPan事件(在句柄上)设置该运动值的值。

代码语言:javascript
复制
function Example() {
  const containerY = useMotionValue(0)

  return (
    <motion.div style={{ y: containerY }}>
      <motion.div onPan={(e, info) => containerY.set(info.offset.y)}>
        Drag Me
      </motion.div>
      <div>Can't drag me</div>
    </motion.div>
  )
}
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/59399032

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档