0

我正在为我的项目使用 react-beautiful-dnd。

我正在尝试使两个可拖动的交换位置(在可放置对象之间)。基本上我只允许每个droppable 1个可拖动的。

一切正常,除了一部分。当我拖过它们时,“移开”功能会不断将可拖动对象移开,但我不希望那样。

有谁知道不将可拖动的东西移开的方法?

4

1 回答 1

0

我自己设法找到了解决方案!这是一个hacky,所以如果有人知道更干净的方法,请告诉我。

如果其他人想知道如何做到这一点,我就是这样做的:

我创建了一个不可翻译的类:

.non-translatable {
    -webkit-transform: unset !important;
    transform: unset !important;
  }

然后在我的可拖动组件中添加了这个:

className={cx('my-draggable', {   // cx is from the classnames package
              'non-translatable': !snapshot.isDragging,
            })}

如果你不想使用 classnames 包,这几乎是一样的:

className={`my-draggable${!snapshot.isDragging ? ' non-translatable' : ''}`}

就像我说的,这很hacky,所以如果有更“正确”的方法,请告诉我!

于 2019-02-06T21:14:35.900 回答