我想使用FormPanel show()函数将其显示为弹出。
但是下面的代码没有显示任何内容。但是,如果我将此formPanel传递给ExtJS Window对象并调用window show()函数正常工作。
我想避免创建一个新的Window对象只是为了显示一个表单面板。我该怎么做?
var formPanelItems = ...
var formPanel = new Ext.form.FormPanel({
width: 300px,
height: 300px,
items : formPanelItems,
});
formPanel.show();
答案 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?