在ExtJS 4.1的这个例子中,实际上左侧元素(患者)是从视图克隆到右侧网格(医院)我想在拖放到右侧网格时删除左侧视图的患者,并添加容量将项目从右网格移动到左视图:
我用一个技巧(slideOut)制作了第一部分(向右移动)我这样做了:
在函数 initializePatientDragZone 之前我添加了:
return v.dragData = {
sourceEl: sourceEl,
repairXY: Ext.fly(sourceEl).getXY(),
ddel: d,
patientData: v.getRecord(sourceEl).data,
patientElement: sourceEl //This part
};
然后我在 onNodeDrop 函数中添加了一个像这样的 slideOut 技巧:
onNodeDrop : function(target, dd, e, data){
var rowBody = Ext.fly(target).findParent('.x-grid-rowbody-tr', null, false),
mainRow = rowBody.previousSibling,
h = gridView.getRecord(mainRow),
targetEl = Ext.get(target);
targetEl.update(data.patientData.name + ', ' + targetEl.dom.innerHTML);
//this slideOut
Ext.get(data.patientElement).slideOut('t', {
easing: 'easeOut',
duration: 500,
remove: true,
useDisplay: true
});
return true;
}
你可以看到它现在的样子:在这个动画中
现在我只想将右侧网格中的项目移动到左侧视图。