我定义了两个类,一个用于网格,另一个用于在网格中单击添加新时打开的表单。
网格视图类
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 时,它会关闭,但在使用组件查询时不会。
关闭表单的代码:
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()