Extjs'Ext.ux.DataView.Draggable'在初始化时失败

时间:2012-03-06 16:56:41

标签: extjs view drag-and-drop draggable

我正在尝试从视图到另一个视图或面板的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;)。

2 个答案:

答案 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 linkExt.ux.DataView.Draggable确实声明它需要它工作,它确实包含你缺少的init函数。希望有所帮助。