Konva - 清除图层但保留背景

Konva - clear layer but keep the background

我试图从每个圆圈和线条中清除图层(将其完全删除)但将图像保留在背景中。

如果我使用 layer.clear() 它也会删除图像。

问题:如何清除图层但又不删除图像?

https://codesandbox.io/s/sharp-night-t4vtt

layer.clear() 不要从场景中移除对象。只是清除 canvas 元素,然后在下一个 layer.draw() 上将再次绘制所有对象。

您需要删除不再需要的对象,而不是 layer.clear()。从演示中,我看到您需要删除线条和圆圈。您可以使用 layer.find(selector) 找到该节点并销毁它们。

document.getElementById("btn").addEventListener("click", () => {
  layer.find('Line').destroy();
  layer.find('Circle').destroy();
  layer.draw();
});