【发布时间】:2020-08-06 23:46:30
【问题描述】:
我正在使用 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 秒的时间间隔内拖动同一个项目,则会出现问题。
【问题讨论】:
-
你能发布一个可运行的代码吗?
标签: css reactjs css-animations react-beautiful-dnd