Extjs EntryForm.show не является функцией

Моя проблема в том, что когда я нажимаю на кнопку, отображается следующая ошибка:

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
  ....

Когда я использую виджет EntryForm в классе main.js и использую create вместо определения и сохраняю его в переменной, он работает без проблем.

1 ответ

Решение

Я не полностью понимаю ваш вопрос, но я думаю, что вам нужно добавить представление EntryForm в область просмотра, прежде чем пытаться показать его, например,

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

Другие вопросы по тегам