有没有办法防止 Shape 被转换?

Is there a way to prevent a Shape for being transformed?

就是这样,我正在创建一个覆盖所有 canvas 的形状,就像白色背景一样,我有一个转换器,我正在听 canvas 次点击,我在其中添加对象转换为转换器节点,但我不喜欢转换我用作背景的白色形状。

Canvas white Shape

只是不要在其中添加变压器。我看到了几种解决方案:

  1. 在该背景形状上设置 listening = false。在那种情况下,它不会触发任何 mouse/touch/pointer 事件
  2. 或者在 click 回调
  3. 忽略中为其设置一个特殊名称
const background = new Konva.Rect({
  fill: 'white',
  width: stage.width(),
  height: stage.height(),
  name: 'nonSelectable'
});



stage.on('click', (e) => {
  // ignore such shape
  if (e.target.hasName('nonSelectable')) {
    return;
  }
  // else attach transformer
});