Extjs4 ExtJS 4 PagingToolbar在后续页面加载时抛出dom错误

Extjs4 ExtJS 4 PagingToolbar在后续页面加载时抛出dom错误,extjs4,extjs-mvc,gridpanel,Extjs4,Extjs Mvc,Gridpanel,我对ExtJS相当陌生,但我已经能够让GridPanel与相关的分页工具栏一起工作。一切正常,直到我关上弹出的窗口,打开另一个。在随后的窗口加载中,我得到一个“me.dom未定义”错误。如果我移除分页工具栏,一切正常。我使用的是4.0.7版 提前谢谢 门店定义: Ext.define('VIMS.store.TOs',{ extend:'Ext.data.Store', model:'VIMS.model.TO', requires: 'VIMS.model.TO',

我对ExtJS相当陌生,但我已经能够让GridPanel与相关的分页工具栏一起工作。一切正常,直到我关上弹出的窗口,打开另一个。在随后的窗口加载中,我得到一个“me.dom未定义”错误。如果我移除分页工具栏,一切正常。我使用的是4.0.7版

提前谢谢

门店定义:

Ext.define('VIMS.store.TOs',{
    extend:'Ext.data.Store',
    model:'VIMS.model.TO',
    requires: 'VIMS.model.TO',
    sorter:{property:'StartDate', direction:'DESC'},
    buffered: true,
    pageSize: 10,

    listeners:{
    beforeload: function(store,options) {
        if(options.params && options.params.id){
            store.getProxy().extraParams.id = options.params.id;
        } 
    }, 
},
});
Ext.define('VIMS.view.TaskOrderList' ,{
    extend: 'Ext.grid.Panel',
    alias : 'widget.taskorderlist',
    title : 'Task Orders',
    store: 'TOs',
    requires:'Ext.toolbar.Paging',
    height:'100%',
    columnLines:true,
/* removed this code ---------------------------------------
    dockedItems :[{
                xtype: 'pagingtoolbar',
                store: 'TOs',   // same store GridPanel is using
                pageSize:10,
                dock: 'bottom',
                displayInfo: false,}],
-------------------------------------------- */             
initComponent: function() {

    this.columns = [

        {header: 'Description',  dataIndex: 'Description',  flex: 1},
        . . . 
        {header: 'Id',  dataIndex: 'TaskOrderId',  hidden:true},
    ];

     // added from here ---------------------------------
      var PagingBar = new Ext.PagingToolbar({
        pageSize: 10,
        store: 'TOs',
        displayInfo: true,

        });
        this.bbar = PagingBar;

    // to here ---------------------------------------

    this.callParent(arguments);
}

});
网格面板定义:

Ext.define('VIMS.store.TOs',{
    extend:'Ext.data.Store',
    model:'VIMS.model.TO',
    requires: 'VIMS.model.TO',
    sorter:{property:'StartDate', direction:'DESC'},
    buffered: true,
    pageSize: 10,

    listeners:{
    beforeload: function(store,options) {
        if(options.params && options.params.id){
            store.getProxy().extraParams.id = options.params.id;
        } 
    }, 
},
});
Ext.define('VIMS.view.TaskOrderList' ,{
    extend: 'Ext.grid.Panel',
    alias : 'widget.taskorderlist',
    title : 'Task Orders',
    store: 'TOs',
    requires:'Ext.toolbar.Paging',
    height:'100%',
    columnLines:true,
/* removed this code ---------------------------------------
    dockedItems :[{
                xtype: 'pagingtoolbar',
                store: 'TOs',   // same store GridPanel is using
                pageSize:10,
                dock: 'bottom',
                displayInfo: false,}],
-------------------------------------------- */             
initComponent: function() {

    this.columns = [

        {header: 'Description',  dataIndex: 'Description',  flex: 1},
        . . . 
        {header: 'Id',  dataIndex: 'TaskOrderId',  hidden:true},
    ];

     // added from here ---------------------------------
      var PagingBar = new Ext.PagingToolbar({
        pageSize: 10,
        store: 'TOs',
        displayInfo: true,

        });
        this.bbar = PagingBar;

    // to here ---------------------------------------

    this.callParent(arguments);
}

});
要打开该窗口,请从我的控制器使用以下命令:

    var view = Ext.widget('contractedit');
    view.modal = true;
    view.down('form').loadRecord(record);
    closeMe: function(button) {
        var win    = button.up('window');
        win.close();
    },
通过以下方式处理关闭:

    var view = Ext.widget('contractedit');
    view.modal = true;
    view.down('form').loadRecord(record);
    closeMe: function(button) {
        var win    = button.up('window');
        win.close();
    },

您有一个额外的尾随逗号,可能会妨碍:

displayInfo: false,

还有,您是如何管理窗口的?

Dmitry,删除后面的逗号并没有改变行为。我正在使用控制器管理窗口。我已经从控制器添加了上面的代码,显示了如何打开和关闭窗口。所以窗口包含窗体,而不是网格,对吗?那么,窗口和网格之间的连接在哪里呢?是的,窗口包含一个表单,该表单包含一个选项卡面板,其中包含多个网格,每个网格都有分页工具栏。如果我从网格中删除分页工具栏,一切正常(当然没有分页除外)。网格是否共享存储区或其他组件?您是否可以将源代码与从简单JSON数组加载的数据一起发布到JSFIDLE中?它们不共享存储区或其他组件。让我看看我能用JSFIDLE做些什么。谢谢你在这方面的帮助。