2012-03-06 504 views
2

我正在嘗試將D-n-D項目從視圖移至另一個視圖或面板。Extjs'Ext.ux.DataView.Draggable'初始化失敗

所有來源指向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設定爲未定義。所以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 

有沒有什麼簡單的方法來得到它的工作?

編輯1Here you can try it;)。

回答

2

終於我明白了,感謝'Mitchell Simoens'誰回​​答了同樣的問題sencha論壇。這樣,我發表了他的解決方案,它的我認爲是做得很好:在幾句話Ext.ux.DataView.Draggable failed to initialization !

答: 使用Ext.create時,不應忽略initComponent並設置混入,你應該做的是,在分機.DEFINE。 Example

0

我想你可能需要看看:Ext.dd.DragZone - documentation linkExt.ux.DataView.Draggable確實表明它需要它的工作,並且它確實包含你缺少的初始化函數。希望有所幫助。