2017-01-05 2 views
1

ли ExtJS6 позволяет хранить связывание с простыми элементами панели, таким образом, что он срывает указанные столбцы и отображать их в качестве пункта { xtype: «панель», ID: «master_list», названия : 'MasterList', DefaultType: 'кнопка', связывания: { магазин: '{зон}' } }ExtJS6: Binding магазин панель элементы

+0

Нет, потому что это потребовало бы своего рода рекорд -> функция отображения компонента. Это было бы что-то написать самому себе. –

ответ

1

Банкоматы в ExtJs 6, элемент конфигурации на панели не привязываемым элемент, в основном, из-за того, что на панели не найдены методы getItem() и setItems(). Вы всегда можете переопределить панель и добавить эту функциональность, и это будет выглядеть примерно так:

Ext.define("Ext.panel.StoreButtonPanel", { 
    /* extend a panel so you get same base functionality of a panel */ 
    extend: 'Ext.panel.Panel', 
    /* other configs and overrides you might want */ 


    setStore:function(){ 
     // function to bind the store to panel 
    }, 

    getStore:function(){ 
     // function to get store from panel 
    } 


    setItems: fuunction(){ 
     var me = this, 
      myStore = me.getStore(); 

     // loop through store and add items. 
     myStore.each(function(storeItem){ 
      // create the items that you want from teh store via loop and using 
      // storeItem 
      Ext.create('Ext.button.Button', { 
       text: storeItem.get('text'), 
       /* other things here if needed */ 
      }) 
     }); 

    }, 


    init: function(){ 
     var me = this; 

     // call method to create items if a store is found. 
     if(me.getStore()){ 
      me.setItems(); 
     } 
     me.callParent(); 
    } 
}); 
+0

Вы будете использовать vonfuse позже при определении сеттера, который не имеет отношения к параметрам. Постарайтесь следовать конвенции. Что касается вашего требования, я думаю, вы можете создать компонент dataview компонента, прослушать изменения в магазине и создать дочерние элементы – bigopon

0

Вы можете добавить параметр магазина на панель. Extjs загрузит магазин напрямую.

store: Ext.Create('Yourapp.store.storename'),

Смежные вопросы