按ID删除元素(jointJS)

Abe*_*bie 4 javascript jointjs

我注意到可以通过将JointJS链接悬停在它们上面并单击出现的大红色X来删除它.但我想知道是否有可能在创建元素后删除元素,而不知道变量名称.

onCreateButtonClick(function(){
  var rect = new joint.shapes.basic.Rect({
    position: { x: 100, y: 30 },
    size: { width: 100, height: 30 }
  });
  graph.addCell([rect]);
});

onRemoveButtonClick(function(){
   //removeRectangle here?
});
Run Code Online (Sandbox Code Playgroud)

我的问题是:我可以在第二个函数中删除这个矩形吗?

dav*_*ave 7

按ID删除元素可以简单地完成:graph.getCell(cellID).remove().在你的onRemoveButonClick(),你必须知道你要删除哪个元素.这取决于您的应用程序UI,但您可以执行以下操作:

var selected;

paper.on('cell:pointerdown', function(cellView) {
    selected = cellView.model;
});

onRemoveButtonClick(function() { 
    if (selected) selected.remove(); 
});
Run Code Online (Sandbox Code Playgroud)