标题栏类不会像在sencha文档中那样隐藏或显示。我正在像这样初始化它
{
xtype: 'titlebar',
docked: 'top',
hidden: true
};
所以它开始隐藏。当我设置hidden: false
时,它会显示出来。我在一个按钮中引用它,当按下按钮时,它会显示或隐藏。
bar.show()
和bar.hide()
不起作用。 bar.setHidden(true)
或bar.setHidden(false)
都不是。bar.hidden = true
或bar.hidden = false
。 var settingsbar = {
xtype: 'meterreadings_settingsbar',
docked: 'top',
added: false
};
或{
xtype: 'mbButton',
text: 'Settings',
align: 'right',
listeners: {
tap: function(source, e, eOpts) {
if(!settingsbar.added){
settingsbar.added = true;
Ext.ComponentQuery.query('.meterreadings_main')[0].add(settingsbar);
}
else{
if(settingsbar.hidden){
settingsbar.show();
}
else{
settingsbar.hide();
}
}
}
}
}
都不是。{{1}}或{{1}}。我的按钮中的事件处理程序确实有效,我按下时会打印一条消息。
让标题栏消失并重新出现的替代方法是什么?
更新
下面是我的对象和按钮监听器的代码。以下是整个类文件的链接:http://pastebin.com/tbS35Czk
我的设置栏(这是在另一个类中定义的:http://pastebin.com/xP5NSrb8)
{{1}}
这是按钮和监听器:
{{1}}
答案 0 :(得分:0)
解决了这个问题。而不是做
var settingsbar = {
xtype: 'meterreadings_settingsbar',
docked: 'top',
added: false
};
我需要做
var settingsbar = Ext.create('pw.meterreadings.main.settingsbar.Settingsbar',{
docked: 'top',
added: false
});
不同之处在于我使用的是Ext.create
而不是xtype
。