我正在使用 React Beautiful DND 库在列之间拖动项目(方形 div)或在同一列中重新排序。我按照他们的 Egghead 视频教程来更改 div 的背景颜色,因为它被拖动。当它被丢弃时,它会切换回所有其他项目的默认颜色。我希望它在掉落后慢慢褪色(可能像 1 秒)到默认颜色。
这是我当前拖放的 div 代码样式。我添加了过渡线,但没有做任何事情。
const MyOrder = styled.div`
background-color: ${(props) =>
props.isDragging ? '#4FB740' : '#193DF4'};
transition: background-color 1s ease;
`;
我尝试将此代码添加到onDragEnd
事件中:
setDroppedOrderID(theOrder.orderNumber);
setTimeout(() => {
setDroppedOrderID('');
}, 2000);
我使被拖动的订单 div 看起来像这样:
<MyOrder
id={orderNumber}
className={`order size-${size} ${
droppedOrderID === orderNumber ? ' dropped' : ''
} ${palletLoc === 'OUTSIDE' ? 'outside' : ''}`}
但是如果有人试图在不到 2 秒的时间间隔内拖动同一个项目,那将是错误的。