Разрешает ли ExtJS6 привязку хранилища к простым элементам панели, чтобы он извлекал указанные столбцы и отображал их как элемент { xtype: 'panel', id: 'master_list', title: 'MasterList', defaultType: 'button', bind: { магазин: '{зоны}' } }
ExtJS6: привязка хранилища к элементам панели
comment
Нет, потому что для этого потребуется какая-то функция сопоставления записи → компонента. Было бы что написать для себя.
- person Evan Trimboli   schedule 05.01.2017
Ответы (2)
Atm в 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();
}
});
person
Chad Peruggia
schedule
05.01.2017
Вы будете vonfuse позже при определении сеттера, который не имеет дело с параметрами. Старайтесь следовать условности. Что касается вашего требования, я думаю, вы можете создать представление данных компонента - компонент, прослушивать изменения в магазине и создавать дочерние элементы.
- person bigopon; 28.02.2017
Вы можете добавить параметр магазина на свою панель. Extjs загрузит магазин напрямую.
store: Ext.Create('Yourapp.store.storename'),
person
Sumeet Roy
schedule
16.03.2017