我需要在按钮点击时显示叠加。要实现这一点,我已经编写了以下代码: -
var miscButton = {
xtype: 'button',
iconCls: 'star',
iconMask: true,
width: 60,
margin: '0 0 0 15',
handler: function(){
fPanel.showBy(this);
}
};
var fPanel = Ext.create('Ext.Panel',{
layout: 'vbox',
width: 150,
height: 300,
style: 'background-color: #5E99CC;',
items: [
{
xtype: 'list',
flex: 1,
itemTpl: '{item}',
data: [
{item: 'item1'},
{item: 'item2'},
{item: 'item3'},
{item: 'item4'},
{item: 'item5'},
{item: 'item6'},
{item: 'item7'},
{item: 'item8'},
{item: 'item9'},
{item: 'item10'},
{item: 'item11'},
{item: 'item12'},
]
}
]
});
当我点击按钮时,它会完美显示叠加层,但在另一次点击后,它无法隐藏叠加层,如链接http://docs.sencha.com/touch/2-0/#!/example/overlays中所示。
我不明白showBy()的问题是什么。请帮我解决这个问题。
提前完成。
答案 0 :(得分:1)
要隐藏叠加面板,只需拨打电话
即可fPanel.hide();
仅供参考,如果您希望能够在面具上隐藏面板,请使用面板的此属性,
modal: true,
hideOnMaskTap: true
答案 1 :(得分:0)
这似乎是一个相当“丑陋”的解决方案,但确实有效:
handler: function(){
fPanel.setHidden(!fPanel.getHidden());
}
该代码段中可能存在一些输入错误,但我的想法是切换面板的hidden
属性