我正在为我的项目使用 react-beautiful-dnd。
我正在尝试使两个可拖动的交换位置(在可放置对象之间)。基本上我只允许每个droppable 1个可拖动的。
一切正常,除了一部分。当我拖过它们时,“移开”功能会不断将可拖动对象移开,但我不希望那样。
有谁知道不将可拖动的东西移开的方法?
我正在为我的项目使用 react-beautiful-dnd。
我正在尝试使两个可拖动的交换位置(在可放置对象之间)。基本上我只允许每个droppable 1个可拖动的。
一切正常,除了一部分。当我拖过它们时,“移开”功能会不断将可拖动对象移开,但我不希望那样。
有谁知道不将可拖动的东西移开的方法?
我自己设法找到了解决方案!这是一个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,所以如果有更“正确”的方法,请告诉我!