我试图从joitJS中的单元格动态删除端口,所以我有一个元素:
var em = new joint.shapes.devs.Model({
position: {x: ev.offsetX, y: ev.offsetY},
size: {width: 100, height: 40},
attrs: {
'.label': {text: bname, fill: 'white'},
rect: {fill: '#1ABC9C', stroke: "#000","stroke-width": 0},
'.inPorts circle': {
fill: '#16A085',
magnet: 'passive',
type: 'input',
'stroke-width': 0,
r: 8
},
'.outPorts circle': {fill: '#E74C3C', type: 'output',"stroke-width": 0, stroke: "#000",r: 8}
},
file: bname + ".txt",
input: "url",
name: bname,
inPorts: [''],
outPorts: [''],
output: "txt"
});
我使用此功能动态添加动态,将端口添加到:
function addInPort(name, opt){
var portsArray = currCell.model.get('inPorts') || [];
currCell.model.set('inPorts', portsArray.concat([name]), opt);
}
这是删除一个:
function removeInPort(opt){
var portsArray = currCell.model.get('inPorts') || [];
portsArray.shift();
console.log(portsArray);
currCell.model.set('inPorts',portsArray, opt);
}
当我尝试从端口数组中删除端口时,它不会渲染端口,它会从数组中删除它们,但它不会渲染它们。
我已经尝试过array.slice(),array.shift(),但是它们不会渲染,但它会删除所有端口。
我怎么能这样做?