Extjs EntryForm.show不是一个函数

时间:2014-09-01 13:47:06

标签: extjs extjs5

我的问题是,当我点击按钮时,会显示以下错误:

TypeError:EntryForm.show不是函数

Main.js

Ext.define('MyApp.view.main.Main', {
  extend: 'Ext.container.Container',
  .....
  do Stuff
  .....
    tbar: [{
    text: 'Button',
    handler: function(){
      var mask = Ext.create('MyApp.view.main.EntryForm');
      mask.show(this);

EntryForm.js

Ext.define('MyApp.view.main.EntryForm',{
  extend: 'Ext.Widget',
  ....
  generate my items for the form
  ....

当我在main.js类中使用EntryForm小部件并使用create而不是define并将其保存在变量中时,它可以正常工作。

1 个答案:

答案 0 :(得分:0)

我不完全理解您的问题,但我认为您需要在尝试显示之前将EntryForm视图添加到Viewport,例如。

var mask = Ext.create('MyApp.view.main.EntryForm');
Ext.Viewport.add(mask);

如果默认情况下EntryForm设置为隐藏,那么您仍然需要

mask.show();

此链接也可以帮助http://training.figleaf.com/tutorials/senchacomplete/chapter2/lesson3/5.cfm