ExtJS, FormPanel show () проблема с функцией - PullRequest
1 голос
/ 04 ноября 2011

Я хочу использовать функцию FormPanel show (), чтобы показать ее как всплывающее окно.

Но код ниже ничего не показывает.но если я передам этот formPanel объекту ExtJS Window и вызов функции окна show () будет работать нормально.

Я хочу избежать создания нового объекта Window только для отображения панели формы.Как мне это сделать?

    var formPanelItems = ...
    var formPanel = new Ext.form.FormPanel({
       width: 300px,
       height: 300px,
       items        : formPanelItems,
    });
    formPanel.show();

Ответы [ 3 ]

2 голосов
/ 17 января 2012

Для каждого документа Ext необходимо установить свойство config floating:true и явно указать его положение после рендера, потому что он позиционируется абсолютно.

Пример:

var p = new Ext.form.FormPanel({
        title:'test', 
        width: 300, 
        height: 150, 
        html:'a floating panel', 
        floating: true, 
        renderTo: Ext.getBody()
}); 
p.setPosition(200,200);
0 голосов
/ 04 ноября 2011

Попробуйте посмотреть на это, может быть полезно: Сменные / плавающие панели в ExtJS?

0 голосов
/ 04 ноября 2011

Вам необходимо установить конфигурационное свойство floatable: true. Он сообщит элементу управления, что он должен отображаться не для какого-либо родительского элемента на странице, а непосредственно для body

http://docs.sencha.com/ext-js/4-0/source/Panel3.html#Ext-panel-Panel-cfg-floatable

...