ExtJs 4 - Window.show () - размер окна очень маленький - PullRequest
3 голосов
/ 19 мая 2011

Я справляюсь с ExtJs 4 и у меня возникает проблема с отображением модального окна при событии двойного щелчка в сетке.

Слушатель, определенный для компонента сетки:

"listeners": {
    "itemdblclick": function() { 
        var win =Ext.getCmp('myCmp');
        win.myWindow.show(); 
    }
}

ранее определенное свойство myCmp быть компонентом окна: (Я использовал родительский контейнерный объект myCmp, так как я создаю код javascript для создания конфигурации ExtJs)

myCmp.myWindow = Ext.create('Ext.window.Window',{
"layout": "fit",
"items": [
 ....     
],
"title": "Hello Window",
"width": "300",
"height": "300",
"id": "myWindow"
});

Логика работает хорошо, я дважды щелкаю сетку, объект окна присутствует (myCmp.myWindow), но когда я вызываю show (), окно отображается очень маленьким (6px x 6px).

если я изменю обработчик на:

Ext.create('Ext.window.Window',{
"layout": "fit",
"items": [
 ....     
],
"title": "Hello Window",
"width": "300",
"height": "300",
"id": "myWindow"
}).show();

Работает нормально. очевидно, это создает новый экземпляр окна.

Есть идеи? я делаю это правильно?

Заранее спасибо

1020 * сэм *

1 Ответ

4 голосов
/ 19 мая 2011

Почему вы ссылаетесь на «myCmp», когда можете напрямую обратиться к своему окну?

 var win = Ext.getCmp('myWindow');
 win.show();

Это должно работать. Кроме того, почему вы создаете окно в другом месте, а затем используете его? Не лучше ли создать экземпляр, когда он вам нужен, и уничтожить его после использования?

Кроме того, вы должны правильно настроить окно. Ширина и высота - это числовые поля, а не строки. Обратитесь к документации и примерам API, чтобы увидеть, как правильно настроить объекты. Вы должны использовать следующее окно:

Ext.create('Ext.window.Window',{
    layout: 'fit',
    items: [
     ....     
    ],
    title: 'Hello Window',
    width: 300,
    height: 300,
    id: 'myWindow'
}).show();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...