ExtJS5 TypeError:Ext.ux.ProgressBarPager不是构造函数

问题描述:

我想在MVVM项目中创建一个带有进度条的网格。它用于工作,但是当我不得不重新整理我的应用程序ExtJS5 TypeError:Ext.ux.ProgressBarPager不是构造函数

sencha app refresh 

我开始“类型错误:Ext.ux.ProgressBarPager是不是构造”的错误。

这是我用我的网格,它的面板:

Ext.define("GeoPortal.view.south.South",{ 
    "extend": "GeoPortal.geox.components.Panel", 
    "controller": "south", 
    "viewModel": { 
     "type": "south" 
    }, 
    "region": 'south', 
    "collapsible": true, 
    "collapsed": true, 
    "title": "SouthPanel", 
    "xtype": "southPanel", 
    "items": [{ 
     xtype: 'gxPagedGrid', 
     params: { 
      store: 'GeoPortal.store.Companies', 
      pageSize: 5, 
      columns: [{ 
       text: 'Name', 
       sortable: true, 
       dataIndex: 'name', 
       flex: 1 
      }, { 
       text: 'Price', 
       sortable: true, 
       formatter: 'usMoney', 
       dataIndex: 'price', 
       width: 75 
      }, { 
       text: 'Change', 
       sortable: true, 
       dataIndex: 'change', 
       width: 80 
      }, { 
       text: '% Change', 
       sortable: true, 
       dataIndex: 'pctChange', 
       width: 100 
      }] 
     } 
    }] 
}); 

这是我pagedGrid类:

Ext.define('GeoPortal.geox.components.PagedGrid', { 
    extend: 'GeoPortal.geox.components.Grid', 
    xtype: 'gxPagedGrid', 
    using: [ 
     'Ext.toolbar.Paging', 
     'Ext.ux.ProgressBarPager' 
    ], 

    initComponent: function() { 

     var store = new Ext.create(this.params.store, { 
      pageSize: this.params.pageSize, 
      proxy: { 
       enablePaging: true 
      } 
     }); 

     Ext.apply(this, { 
      using: store, 
      store: store, 
      columns: this.params.columns, 
      bbar: { 
       xtype: 'pagingtoolbar', 
       pageSize: this.params.pageSize, 
       store: store, 
       displayInfo: true 
       // FIX: this 
       //plugins: new Ext.ux.ProgressBarPager() 
      } 
     }); 
     this.callParent(); 
    }, 

    afterRender: function() { 
     this.callParent(arguments); 
     this.getStore().load(); 
    } 
}); 

预先感谢您。

+0

您是否尝试过'Ext.create('Ext.ux.ProgressBarPager')'而不是调用构造函数? – Krzysztof 2014-08-28 13:09:32

+0

将该评论写为我的朋友的回答,因为这是正确的答案!非常感谢! – kursat 2014-08-28 13:18:45

可能会出现问题,因为您在类定义中使用using而不是requires。这就是为什么当您尝试创建实例时未加载Ext.ux.ProgressBarPager

Ext.create('Ext.ux.ProgressBarPager')正在工作(正如在commen中所提到的),因为它能够按需加载,所以最好使用Ext.create而不是new