0

从模板拖到纸上时,我想提供元素的默认大小。我正在使用 standard.image 类型的元素。快速库可以吗?

4

1 回答 1

0

据我了解,您希望在模板中有一定大小的元素,并在将它们放在纸上后立即更改大小。

定义模板元素时,将所需的纸张尺寸添加为属性。

{
  type: 'standard.Image',
  size: { width: 100, height: 100 }, // stencil size
  paperSize: { width: 200, height: 200 }, // paper size
  attrs: { image: { xlinkHref: 'image.png' }}
}

然后使用dragEndClonestencil 选项来克隆和调整元素的大小。

new joint.ui.Stencil({
  dragEndClone: function(el) {
    var clone = el.clone();
    var paperSize = el.get('paperSize');
    if (paperSize) {
      clone.resize(paperSize.width, paperSize.height);
      clone.unset('paperSize');
    }
    return clone; 
  }
});

或者,您可以dragStartClone在用户开始从模板中拖动元素时使用纸张大小。

于 2019-01-31T18:23:27.977 回答