Extjs:无法通过xtype获取视图(无法将undefined或null转换为object)

时间:2014-11-20 07:17:11

标签: extjs

我有一个简单的窗口,想把它显示为弹出窗口。我的问题是如何从我的控制器使用xtype访问此窗口。

    Ext.define('My.view.definition.PropertyToDTWindow', {
    extend: 'Ext.window.Window',
    requires: ['My.view.definition.PropertyToDTForm'],
    alias : 'widget.PropertyToDTWindow',
                title: 'Add Property',
                closeAction: 'hide',
                width: 300,
                height: 350,
                layout: 'fit',
                resizable: true,
                modal: true,
                autoCreate: true,
                items: 'propertytodtform',
            });

我需要在我的控制器中执行的操作是调用窗口并显示它,但它不起作用,我得到未捕获的TypeError:无法将undefined或null转换为对象错误:

      var form = this.getPropertyToDTWindow();
      form.show();

这是我的xtype def:

    {
        ref: 'PropertyToDTWindow',
        selector: '',
        xtype: 'PropertyToDTWindow',
        autoCreate: true
    }

2 个答案:

答案 0 :(得分:0)

selector必须是Ext.ComponentQuery指定的内容。 xtype定义了使用autoCreate时创建的组件。 Check the specs here.

答案 1 :(得分:0)

尝试使用此

var win = Ext.create('My.view.definition.PropertyToDTWindow').show();

var form = win.down('#your-form-itemId').getForm();

如果这不起作用,您可以直接访问该字段,如下所示:

win.down('#firstname').setValue('Tim');

/*
 * #firstname -> textfield with itemId firstname
 */