我在语法上是否知道此设置正确时遇到麻烦。从另一个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

09-05 10:07