0
次のコードでは、Ext.getCmpは呼び出されたときに完全に定義されていないため機能しません。どのように私はこれらの2つのものをつかむことができますかExtJS arrowHandlerがsplitbuttonを参照する必要があります
また、別のコード部分がlist.menu.buttonsに継続的にプッシュされているので、矢印がクリックされたときにのみ項目に追加する必要があります。
xtype: "splitbutton",
id: "list",
enableToggle: true,
arrowHandler: (function() {
var library = Ext.getCmp("library");
var buttons = Ext.getCmp("list").menu.buttons;
function btn(num) {
var image = new Image;
image.src = buttons[num].dataURL;
this.xtype = "button";
this.height = 50;
this.width = 50;
this.icon = image;
this.num = num;
this.handler = function (btn) {
btn.up("button").fireEvent("selected", this.num);
};
}
for (var i = 1; i <= 1; i++)
library.push(new btn(i));
})(),
menu: {
plain: true,
buttons: [],
items: [
{
xtype: "ribbon_gallery",
columns: 3,
title: "Recent",
id: "recent",
items: []
},
{
xtype: "ribbon_gallery",
columns: 3,
title: "Library",
id: "library",
itemId: "library",
items: []
}
]
}