我可以更改纸张和模板上元素的默认大小吗? [Jointjs] [RappidJS]
can i change default size of elements on paper and stencil? [Jointjs] [RappidJS]
我想在从模板拖到纸上时提供元素的默认大小。
我正在使用 standard.image 类型的元素。有可能使用 rappid 库吗?
据我了解,您希望模板中的元素具有一定大小,并在将它们放置在纸上后立即更改大小。
定义模板元素时,添加所需的纸张尺寸作为属性。
{
type: 'standard.Image',
size: { width: 100, height: 100 }, // stencil size
paperSize: { width: 200, height: 200 }, // paper size
attrs: { image: { xlinkHref: 'image.png' }}
}
然后使用 dragEndClone
模板选项克隆和调整元素大小。
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
在用户开始从模板中拖动元素时立即使用纸张大小。
我想在从模板拖到纸上时提供元素的默认大小。 我正在使用 standard.image 类型的元素。有可能使用 rappid 库吗?
据我了解,您希望模板中的元素具有一定大小,并在将它们放置在纸上后立即更改大小。
定义模板元素时,添加所需的纸张尺寸作为属性。
{
type: 'standard.Image',
size: { width: 100, height: 100 }, // stencil size
paperSize: { width: 200, height: 200 }, // paper size
attrs: { image: { xlinkHref: 'image.png' }}
}
然后使用 dragEndClone
模板选项克隆和调整元素大小。
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
在用户开始从模板中拖动元素时立即使用纸张大小。