我可以通过单击它拥有的菜单项来更改ComboButton的标签吗?我试着这样做:
var menu_item=new MenuItem({
label:search_types_value[key].display_name,
onClick:function(){
search_type_button.label="hi";
search_type_button.startup();
}
});
var search_type_button=new ComboButton({
id:"search_type_button",
label:"types",
dropDown: search_type_menu
},"search_type_button");
但是,这似乎不起作用。
答案 0 :(得分:1)
乍一看,这看起来像是一个范围问题。 onClick函数中没有search_type_button
。不要将onclick函数直接提供给菜单项,而是使用.connect
将onClick
连接到要执行的函数。
var menu_item=new MenuItem({
label:search_types_value[key].display_name,
});
var search_type_button=new ComboButton({
id:"search_type_button",
label:"types",
dropDown: search_type_menu
},"search_type_button");
search_type_button.connect(menu_item, 'onClick', function() {
var newLabel = 'hi';
this.set('label', newLabel);
});