在两个 KonvaJS 画布之间拖动形状

Drag shapes between two KonvaJS canvases

在 KonvaJS 中是否可以将形状(如矩形)从一个阶段拖到另一个阶段?有什么建议吗?

您只需要监听 dragmove 事件,然后在形状超出视野时将其移动到另一个舞台。

像这样:

circle.on('dragmove', () => {
  if (circle.getStage() === stage1 && circle.y() > stage1.height()) {
    circle.y(0)
    circle.moveTo(layer2);
    layer1.draw();
    layer2.draw();
  }
  if (circle.getStage() === stage2 && circle.y() < 0) {
    circle.y(stage1.height());
    circle.moveTo(layer1);
    layer1.draw();
    layer2.draw();
  }
});

条件可能会有所不同,具体取决于您的用例。

演示:http://jsbin.com/kuculewibe/edit?css,js,output