ExtJS,FormPanel show()函数问题

时间:2011-11-04 00:32:32

标签: javascript extjs extjs3

我想使用FormPanel show()函数将其显示为弹出。

但是下面的代码没有显示任何内容。但是,如果我将此formPanel传递给ExtJS Window对象并调用window show()函数正常工作。

我想避免创建一个新的Window对象只是为了显示一个表单面板。我该怎么做?

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

3 个答案:

答案 0 :(得分:2)

Per Ext的doc,你需要设置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);

答案 1 :(得分:0)

您需要设置config属性floatable: true。它会告诉控件不要将自己呈现给页面上的某个父元素,而是直接呈现给body

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

答案 2 :(得分:0)

试着看看这个,可能有用: Dockable/floatable panels in ExtJS?