Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/extjs/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/jpa/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 在ExtJs中使用相同的组件_Javascript_Extjs_Components - Fatal编程技术网

Javascript 在ExtJs中使用相同的组件

Javascript 在ExtJs中使用相同的组件,javascript,extjs,components,Javascript,Extjs,Components,​我有几个extjs网格,我将它们定义如下: var aGrid = new Ext.grid.GridPanel({ bbar : pagingToolbar }); var bGrid = new Ext.grid.GridPanel({ bbar : pagingToolbar }); 但是,如果我像上面那样使用pagingToolbar,它将无法正常工作。 只有第一个网格工作,在第二个级别中,工具栏不显示。 一次只有一个栅格处于活动状态。是的 myTabPanel

​我有几个extjs网格,我将它们定义如下:

var aGrid = new Ext.grid.GridPanel({

    bbar : pagingToolbar
});

var bGrid = new Ext.grid.GridPanel({

    bbar : pagingToolbar
});
但是,如果我像上面那样使用
pagingToolbar
,它将无法正常工作。 只有第一个网格工作,在第二个级别中,工具栏不显示。 一次只有一个栅格处于活动状态。是的

myTabPanel.hideTabStripItem(aGrid); 
myTabPanel.add(bGrid).show();
aGrid.bbar = null;
bGrid.bbar = pagingToolbar;

您应该按如下方式实例化它们:

var aGrid = new Ext.grid.GridPanel({

    bbar : pagingToolbar1
});

var bGrid = new Ext.grid.GridPanel({

    bbar : pagingToolbar2
});
我一直使用的另一种方法是:

var aGrid = new Ext.grid.GridPanel({

    bbar : { xtype: 'pagingtoolbar', store: 'Ext.data.Store'}
});

var bGrid = new Ext.grid.GridPanel({

    bbar :{ xtype: 'pagingtoolbar', store: 'Ext.data.Store'}
});

使用每个对象的两个实例(如store或pagingtoolbar)是绝对必要的。

不能同时将同一个苹果放在桌子上的两个不同位置。组件也是如此。。。你为什么要这么做?如果您想要两个具有相同属性/行为的组件,请创建一个类并实例化两次。@rixo​我没有同时使用
pagingtoolbar
控件。我已经更新了问题。在这种情况下还会有问题吗?​我没有同时使用
pagingtoolbar
控件。我已经更新了问题。在这种情况下还会有问题吗?不,如果在呈现网格之前更改网格的配置不会有问题,但是在显示一个组件后,更改其配置不会更新其外观。重要的一点是使用组件的不同实例,因为每个组件都保存已渲染组件的DOM元素。