Ext.getCmp和Ext.ComponentQuery.query给出相同的对象,但在使用时不给出相同的结果

时间:2015-07-29 08:27:13

标签: javascript forms extjs grid component-query

我有一个为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()

0 个答案:

没有答案