我在语法上是否知道此设置正确时遇到麻烦。从另一个thread中,我知道将GridPanel添加到tabBar项,这在下面进行。在我的App.js中,我定义了一个从ExtJS示例(here)复制的网格。
var grid = new Ext.grid.GridPanel({
// Details can be seen at
// http://dev.sencha.com/deploy/ext-3.4.0/docs/?class=Ext.Component?class=Ext.grid.GridPanel
});
在此之下,我创建了一个应用程序实例:
appname.App = Ext.extend(Ext.TabPanel, {
fullscreen: true,
tabBar: {
ui: 'gray',
dock: 'bottom',
layout: { pack: 'center' }
},
cardSwitchAnimation: false,
initComponent: function() {
if (navigator.onLine) {
// Add items to the tabPanel
this.items = [{
title: 'Tab 1',
iconCls: 'tab1',
xtype: 'tab1',
pages: this.accountPages
}, {
title: 'Tab 2',
iconCls: 'tab2',
xtype: 'tab2',
pages: this.accountPages
},
grid];
} else {
this.on('render', function(){
this.el.mask('No internet connection.');
}, this);
}
appname.App.superclass.initComponent.call(this);
}
});
该应用程序通常可以正常加载,但是添加
grid
会中断,并且不会加载任何内容。从语法上讲,我是否应该在应用实例化中定义网格,例如A)
grid: ...
,B)this.grid = new ...
或C),因为我将其作为名为var
的常规grid
?非常感谢。
最佳答案
Sencha Touch没有内置的GridPanel。因此,该Ext.grid.GridPanel将在这里不起作用。但是,您可以使用here中的Simoen的TouchGrid扩展。
所有源代码均可用here。