我有一个为Grid定义的类,另一个为在网格中单击添加new时打开的表单。
Gridview类
Ext.define('CustomerApp.view.CustomerGridView',
{
extend: 'Ext.container.Viewport',
renderTo: Ext.getBody(),
itemId: 'gridView'});
表单类
Ext.define('CustomerApp.view.FormWindow',
{
extend : 'Ext.window.Window',
closable:true,
itemId: 'addCustomerWindow'})
当在网格中按下添加按钮时,窗口将以窗体打开。
显示表单的代码
AddCustomer: function()
{
var win = Ext.create('CustomerApp.view.FormWindow');
Ext.ComponentQuery.query('#gridView')[0].add(win);
win.show();
}
单击提交表单后,必须添加客户和关闭表单。当我使用Ext.getCmp时,它会关闭,但不会在使用Component查询时关闭。
关闭表单的代码:
var gridView = Ext.getCmp('gridView');
//var gridView= Ext.getComponentQuery.query('#gridView')[0];
var formWindow = Ext.getCmp('addCustomerWindow');
//var formWindow=Ext.getComponentQuery.query('#addCustomerWindow')[0];
gridView.remove(formWindow);
我在控制台中检查过,两个都返回相同的对象,但是使用Ext.getCmp()关闭了表单,但没有关闭Ext.ComponentQuery.query()