5
我是extjs.s的新手。我想從Ext.menu.Menu中選擇一個菜單項關聯商店。我正在使用extjs 4.1.0。我在網上搜索,甚至經過sencha文件,但我找不到任何方式來實現這一目標。聯合Ext.menu.Menu的商店
有沒有辦法實現它?
在此先感謝。
我是extjs.s的新手。我想從Ext.menu.Menu中選擇一個菜單項關聯商店。我正在使用extjs 4.1.0。我在網上搜索,甚至經過sencha文件,但我找不到任何方式來實現這一目標。聯合Ext.menu.Menu的商店
有沒有辦法實現它?
在此先感謝。
我在一個項目中使用了商店菜單。這裏有一個例子:
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;
}
});
我發現了煎茶論壇這一個,如果IIRC,但不能再找到鏈接。我做了一些調整圖標等,...
關於Ext.Array.each(記錄,.... 你需要定義自己的邏輯,這取決於你的模型。顯示名稱,我用來顯示爲文本,我也將我的記錄存儲在我在菜單項中製作的數據屬性中,您完全免費。
祝你好運!