我有两个splitbuttons
有不同的ID。分割按钮有一些菜单。在我的情况下,两个分割按钮具有相同的菜单。我的问题是如何优化代码并在一些常用函数中编写菜单。
这是我的代码示例。
{
xtype: 'splitbutton',
text: "Button1",
hidden: true,
id : 'Button1',
menu:[{
text: "A1",
},{
text: "A1",
},{
text: "A1",
},{
text: "A1",
}],
handler:function(){
this.SomeFunction();
}
},{
xtype: 'splitbutton',
text: "Button2",
hidden: true,
id : 'Button2',
menu:[{
text: "A1",
},{
text: "A1",
},{
text: "A1",
},{
text: "A1",
}],
handler:function(){
this.SomeFunction();
}
}
您可以在此处看到Button1
和Button2
具有相同的菜单。如何在一些常见的地方优化我的代码并制作菜单。
答案 0 :(得分:2)
在类中定义一个buildMenuItems
方法,返回菜单项:
buildMenuItems: function() {
return [{
text: "A1",
},{
text: "A1",
},{
text: "A1",
},{
text: "A1",
}];
}
然后通过调用此函数替换常用菜单项定义。
{
xtype: 'splitbutton',
text: "Button1",
hidden: true,
id: 'Button1',
menu: this.buildMenuItems(),
handler: function () {
this.SomeFunction();
}
}, {
xtype: 'splitbutton',
text: "Button2",
hidden: true,
id: 'Button2',
menu: this.buildMenuItems(),
handler: function () {
this.SomeFunction();
}
}
答案 1 :(得分:0)
只需为每个具有xtype,text,hidden,id,menu,handler属性的分割按钮创建一个类。
现在添加菜单管理,添加,删除,更新的方法。所以你可以这样做:
var btnObj = new ButtonSplit(xtype, 'text', isHidden);
btnObj.addMenu("A1");
创建一个类很有用,所以将来你可以修改你的类并添加方法,比如btnClass.addManyMenus([" A1"," A2",& #34; A3"]);