如何从 KONVA 组中隐藏一个元素

How to hide one element from KONVA group

我有一个 KONVA 组,其中包含三个对象。我想show/hide组中的一个对象。

const stage = new Konva.Stage({
  container: 'container',
  width: window.innerWidth,
  height: window.innerHeight
});

const layer = new Konva.Layer();
stage.add(layer);

const group = new Konva.Group();
layer.add(group);

const circle1 = new Konva.Circle({
  x: stage.width() / 2,
  y: stage.height() / 2,
  radius: 50,
  fill: 'green',
  visible: true
});

const circle2 = new Konva.Circle({
  x: stage.width() / 2,
  y: stage.height() / 2,
  radius: 30,
  fill: 'red',
  visible: true
});

const circle3 = new Konva.Circle({
  x: stage.width() / 2,
  y: stage.height() / 2,
  radius: 10,
  fill: 'blue',
  visible: true
});

group.add(circle1);
group.add(circle2);
group.add(circle3);

layer.draw();

//group.hide(); // if I use this it will hide entire group but i want to hide only one object
layer.draw();

我只想 show/hide 来自 Konva 组的 circle2。谁能帮帮我?

调用circle2的hide方法即可

circle2.hide();

此 circle2 已通过引用添加到您的群组中。因此,如果您在 circle2 中进行任何更改,它将反映在组中。