首页 > 解决方案 > 有没有办法防止 Shape 被转换?

问题描述

就是这样,我正在创建一个覆盖所有画布的形状,使其像白色背景一样,我有一个变压器,我正在听画布点击,在其中我将对象添加到变压器节点中,但我不喜欢变换我用作背景的白色形状。

帆布白色形状

标签: vuejs3konvajs

解决方案


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

  1. 设置listening = false在该背景形状上。在这种情况下,它不会触发任何鼠标/触摸/指针事件
  2. 或者在click回调中为它设置一个特殊名称只是忽略
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
});

推荐阅读