我希望在用户将元素移动到底部或右边框时展开纸张:
var paper = new joint.dia.Paper({
el: $('#canvas'),
width: 801,
height: 496,
model: graph
});
rect.on('change:position', function(evt, pos) {
if (pos.y > 400) { height = pos.y + 96; }
else { height = 496; }
if (pos.x > 680) { width = pos.x + 121; }
else { width = 801; }
paper.setDimensions(width, height);
});
这仅适用于单个元素。但是如果已经存在另一个元素,那么这不起作用。
所以我需要找到具有最高x或y值的元素。这意味着我搜索了纸张最右边或最底层的元素。然后我会把它放到另一个if子句中。
我想过使用paper.findViewsInArea(rect)
,但我真的不知道如何获得我需要的结果。
答案 0 :(得分:3)
您不必使用setDimensions()
。做一些像
rect.on('change:position', function(evt, pos, y) {
paper.fitToContent({
minWidth: 801,
minHeight: 496
});
});