我一直在尝试通过在我的useDrag中添加带有值PreviewOptions:{offsetX:0,offsetY:0}的PreviewOptions来将相对于指针的预览图像位置固定在左上方,但似乎没有任何效果。无论是否使用useDrag,我都可以通过任何方式解决此问题?
const Items = ({
name, icon, preview: imageSource,
}) => {
const [{ isDragging }, drag, preview] = useDrag({
item: { name, type: 'item' },
previewOptions: {
offsetX: 0,
offsetY: 0,
},
collect: (monitor) => ({
isDragging: monitor.isDragging(),
}),
});
const opacity = isDragging ? 'opacity: 0.5' : 'opacity: 1';
return (
<>
<DragPreviewImage connect={preview} src={imageSource} />
<div ref={drag} className={className} style={{ opacity }}>
<div>
<img src={icon} alt="img" />
</div>
</div>
</>
);
};
我试图做的事情类似于拖动draw.io
You see when i started to drag my pointer is at the bottom right