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();
}
});
预先感谢您。
答
可能会出现问题,因为您在类定义中使用using
而不是requires
。这就是为什么当您尝试创建实例时未加载Ext.ux.ProgressBarPager
。
Ext.create('Ext.ux.ProgressBarPager')
正在工作(正如在commen中所提到的),因为它能够按需加载,所以最好使用Ext.create
而不是new
。
您是否尝试过'Ext.create('Ext.ux.ProgressBarPager')'而不是调用构造函数? – Krzysztof 2014-08-28 13:09:32
将该评论写为我的朋友的回答,因为这是正确的答案!非常感谢! – kursat 2014-08-28 13:18:45