我正在尝试从视图到另一个视图或面板的D-n-D项目。
所有来源都指向Ext.ux.DataView.Draggable。但它对我不起作用。
以下code from Extjs docs失败:
Ext.create('Ext.view.View', {
mixins: {
draggable: 'Ext.ux.DataView.Draggable'
},
initComponent: function() {
this.mixins.draggable.init(this, {
ddConfig: {
ddGroup: 'someGroup'
}
});
this.callParent(arguments);
}
});
this.mixins.draggable 设置为undefined。所以找不到 init 方法。
错误日志:
Uncaught TypeError: Object Ext.ux.DataView.Draggable has no method 'init'
Ext.create.initComponent fiddle.jshell.net:28
Ext.define.constructor ext-all.js:15
b.callParent ext-all.js:15
Ext.define.constructor ext-all.js:15
Ext.Class.m ext-all.js:15
(anonymous function)
Ext.ClassManager.instantiate ext-all.js:15
(anonymous function) ext-all.js:15
window.onload
有没有简单的方法让它运作起来?
编辑1 :Here you can try it;)。
答案 0 :(得分:2)
最后,我得到了它,感谢' Mitchell Simoens '在 sencha论坛上回答了同样的问题。通过这种方式,我发布了他的解决方案,我认为它做得很好:Ext.ux.DataView.Draggable failed to initialization !
用几句话回答: 你不应该在使用Ext.create时覆盖initComponent并设置mixins,你应该在Ext.define中这样做。 Example
答案 1 :(得分:0)
我认为您可能需要查看:Ext.dd.DragZone
- documentation link。 Ext.ux.DataView.Draggable
确实声明它需要它工作,它确实包含你缺少的init函数。希望有所帮助。