拖放画布形状
要启用画布上任何节点的拖放功能,您只需将 draggable 属性传递给组件。
当您拖放一个形状时,建议将其位置保存到您的应用商店中。您可以使用 onDragMove 和 onDragEnd 事件来实现这一目的。
import React from 'react';
import { Stage, Layer, Text } from 'react-konva';
const App = () => {
const [isDragging, setIsDragging] = React.useState(false);
const [position, setPosition] = React.useState({
x: 50,
y: 50,
});
return (
<Stage width={window.innerWidth} height={window.innerHeight}>
<Layer>
<Text
text="可拖动文本"
x={position.x}
y={position.y}
draggable
fill={isDragging ? 'green' : 'black'}
onDragStart={() => {
setIsDragging(true);
}}
onDragEnd={(e) => {
setIsDragging(false);
setPosition({
x: e.target.x(),
y: e.target.y(),
});
}}
/>
</Layer>
</Stage>
);
};
export default App;