1
我只需要拖動&只有當樹節點是在EXTJS葉。 這是我的代碼:如何限制拖放只有樹節點是葉子EXTJS
拖動源
var tree = Ext.create('Ext.tree.Panel', {
title: 'Simple Tree',
width: 400,
height: 600,
store: store,
rootVisible: false,
viewConfig: {
plugins: {
ptype: 'treeviewdragdrop',
copy: true,
dragGroup: 'myDDGroup'
}
},
});
放置目標
Ext.define('myPanelDropTarget', {
extend: 'Ext.dd.DropTarget',
notifyEnter : function(source, e, data) {
console.log('enter');
return this.callParent(arguments);
},
notifyOut : function(source, e, data) {
console.log('out');
return this.callParent(arguments);
},
notifyOver : function(source, e, data) {
console.log('over');
return this.callParent(arguments);
},
notifyDrop : function(source, e, data) {
var me = this;
console.log('drop');
var text = data.records[0].get('text');
var d3ComponentEl = me.panel.down('#d3Component').getEl();
d3ComponentEl.insertHtml('beforeEnd', text + '<br />');
return true;
}
});
面板與降targetstrong文本
var panel = Ext.create('Ext.panel.Panel', {
title: 'Drop Target Panel',
border: true,
width: 400,
height: 600,
items: [
{
xtype: 'component',
id: 'd3Component',
autoEl: { tag: 'div' }
}
],
listeners: {
'afterrender': function() {
panel.dropZone = Ext.create('myPanelDropTarget', panel.getEl(), {
ddGroup: 'myDDGroup',
panel: panel
});
}
}
});
配置
這工作正常,但會發生什麼,我也可以從樹中拖放文件夾,並會限制只有葉困難。
例子:
撥弄完整的活生生的例子:在這裏https://fiddle.sencha.com/#fiddle/340
看,如果該節點是不是葉子,我需要的是如果不取消葉落事件。有什麼想法?
Ext.define('myPanelDropTarget', {
extend: 'Ext.dd.DropTarget',
nodedragover: function(targetNode, position, dragData){
var me = this;
var rec = dragData.records[0].raw.canDrop;
var camara = me.panel.down('#'+id);
console.log(camara.getEl());
if(!rec)
{
***//I need to cancel the drop event***
}
},
notifyDrop : function(source, e, data) {
this.nodedragover(source, e, data);
var me = this;
var cam = data.records[0].raw;
var target = cam.protocol+'://'+cam.user+':'+cam.pass+'@'+cam.ip+':'+cam.port+'/'+cam.ruta;
var camara = me.panel.down('#'+id);
camara.setTitle(cam.text);
var data = '<embed type="application/x-vlc-plugin" id="vlc1" name="vlc1" toolbar="false" allowfullscreen="false" width=100%; height=100%; target= "'+target+'"; />';
camara.body.setHTML(data);
return true;
}
});
能否請您提供更多的澄清答案嗎?可能是代碼片段或[小提琴](https://fiddle.sencha.com),表明您遇到的問題? – weeksdev
在文檔中有一個示例:http://docs.sencha.com/extjs/4.2.2/#!/example/tree/custom-drop-logic.html –
我正在評審示例作品,但不是我,我設法找出節點是否是葉子,但當葉子節點是我們時,我不能取消掉落事件。這是代碼。 – eliecerSR