bmrlab / gendam

A privacy-first generative DAM
6 stars 1 forks source link

拖拽移动文件和文件夹 #23

Closed web3nomad closed 1 month ago

web3nomad commented 1 month ago

使用 @dnd-kit 这个库实现,不过同一个文件要监听点击和 drag 事件,直接使用 dnd 会让 click 事件失效。

对 dnd 的触发条件进行配置以后可以解决这个问题,只要配置了 activationConstraint 就行,distance 很小也没问题。

const sensors = Dnd.useSensors(
  Dnd.useSensor(Dnd.PointerSensor, {
    // 如果不设置 activationConstraint 会覆盖点击事件导致文件夹无法被点击和双击
    activationConstraint: {
      distance: 4,
    },
  }),
)

这样 click 可以正常触发