2012-11-08 19 views
5

Extj'ler konusunda yeniyim. Bir mağaza seçmek için Ext.menu.Menu'dan bir menü öğesi seçmek istiyorum. Ben extr 4.1.0 kullanıyorum. İnternette arama yaptım bile sencha doc'dan geçtim ama bunu başarmanın hiçbir yolunu bulamadım.Bir deponun Ext.menu.Menu ile eşleştirilmesi

Bunu başarmanın bir yolu var mı?

Şimdiden teşekkürler.

cevap

12

Bir projede mağaza içeren bir menüyü kullanıyorum. İşte bir örnek:

Ext.define("Ext.ux.menu.DynamicMenu", { 
    extend: "Ext.menu.Menu", 
    alias: 'widget.dynamicmenu', 
    loaded: false, 
    loadMsg: 'Loading...', 
    store: undefined, 
    icon: '', 
    constructor: function (config) { 
     var me = this; 
     Ext.apply(me, config); 

     me.callParent(); 
    }, 
    initComponent: function() { 
     var me = this; 
     me.callParent(arguments); 
     me.on('show', me.onMenuLoad, me); 
     listeners = { 
      scope: me, 
      load: me.onLoad, 
      beforeload: me.onBeforeLoad 
     }; 
     me.mon(me.store, listeners); 
    }, 
    onMenuLoad: function() { var me = this; if (!me.store.loaded) me.store.load(); }, 
    onBeforeLoad: function (store) { this.updateMenuItems(false); }, 
    onLoad: function (store, records) { this.updateMenuItems(true, records); }, 
    updateMenuItems: function (loadedState, records) { 
     var me = this; 
     me.removeAll(); 
     if (loadedState) { 
      me.setLoading(false, false); 
      Ext.Array.each(records, function (record, index, array) { 
       me.add({ 
        text: record.get('DisplayName'), 
        data: record, 
        icon: me.icon 
       }); 

      }); 
      me.store.loaded = true; 
     } 
     else { 
      me.add({ width: 75, height: 40 }); 
      me.setLoading(me.loadMsg, false); 
     } 
     me.loaded = loadedState; 
    } 
}); 

Ben IIRC eğer sencha forumlarında bu bir tane buldum, ama artık linki bulamıyorum. Simgeler vb. Için ince ayar yaptım, ...

Ext.Array.each üzerinde (kayıtlar, .... Kendi mantığınızı tanımlamanız gerekir, Modelinize bağlı olarak değişir. Ben metin olarak göstermek için hangi GörünenAd. Ben de menü öğesi yapılmış bir veri özelliğinde benim rekorumu stok. orada tamamen özgürsünüz.

İyi şanslar!

İlgili konular