在Sencha Touch 2.2中使用Ext.Panel时遇到了一些麻烦。它首先起作用,但是在构建之后,虽然hideOnMaskTap为真,但它无法关闭。
这是我的代码:
MinPanel.js
Ext.define('MinimalPanelExample.view.MinPanel', {
extend: 'Ext.Panel',
requires: [
'Ext.dataview.List'
],
config: {
id: 'minPanel',
width: '320px',
height: '480px',
modal: true,
hideOnMaskTap: true,
html: 'minimal panel',
items: [
{
xtype: 'list',
width: '100%',
height: '100%'
}
]
}
});
在 Main.js :
中添加var minPanel = Ext.create('MinimalPanelExample.view.MinPanel');
[...]
items: {
docked: 'top',
xtype: 'titlebar',
title: 'Welcome to Sencha Touch 2',
items: [
{
xtype: 'button',
text: 'Button',
listeners: {
tap: function(button) {
minPanel.showBy(button);
}
}
}
],
},
奇怪的是,如果我运行构建的包,面板内的列表甚至都不显示,它只显示html:'minimal panel'。但是,Javascript控制台中没有警告。
关于为什么会发生这种情况的任何想法? 另外,请随时告诉我,首先创建/访问面板的方式是否错误。
答案 0 :(得分:0)
想出来。你不能只在主视图文件的顶部Ext.create,它必须在Ext.define块的某个地方。如果我在初始化侦听器中创建MinPanel,然后在用户按下按钮时通过Ext.getCmp('minPanel')获取它,它就可以工作。