Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/extjs/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript ExtJS:在调整窗口大小时自动调整表单字段大小_Javascript_Extjs - Fatal编程技术网

Javascript ExtJS:在调整窗口大小时自动调整表单字段大小

Javascript ExtJS:在调整窗口大小时自动调整表单字段大小,javascript,extjs,Javascript,Extjs,我创建了Ext.Window,其中包含一些Ext.form字段。但当我调整窗口形状时,元素仍然具有初始宽度和高度 是否需要在调整窗口大小时显式调整窗体字段的大小?或者有一些选项可以自动调整表单字段的大小 示例代码: var f_1 = new Ext.form.TextField({fieldLabel: 'Label 1'}); var f_2 = new Ext.form.TextField({fieldLabel: 'Label 2'}); var fp = new Ext.form.Fo

我创建了Ext.Window,其中包含一些Ext.form字段。但当我调整窗口形状时,元素仍然具有初始宽度和高度

是否需要在调整窗口大小时显式调整窗体字段的大小?或者有一些选项可以自动调整表单字段的大小

示例代码:

var f_1 = new Ext.form.TextField({fieldLabel: 'Label 1'});
var f_2 = new Ext.form.TextField({fieldLabel: 'Label 2'});
var fp = new Ext.form.FormPanel({items: [f_1, f_2]});

var w = new Ext.Window({
    layout: 'form',
    title: 'test',
    items: fp
});

w.show()
我会的。您可以看到一些示例和文档

另外,如果您不想为它们中的每一个指定大小,您可以使用
defaults
config对象从表单面板推送默认值

var fp = new Ext.form.FormPanel({
           items: [f_1, f_2]
           ,defaults: {
               anchor: '95%' 
           }
        });

我怀疑FormPanel“fp”部分有错

在ExtJS中,通常最好的做法是在Ext.window构造函数中声明所有从窗口开始的内容。对我来说,创造事物并试图在以后附加它们一直是很多挫折的根源


(好的,关于宽度的另一个答案是:100%可能更好。但是,我在调整大小等方面遇到了很多问题。当我没有立即声明所有内容时……还没有弄清楚什么时候可以这样做。)

你可以查看锚定,这使得可以很好地调整大小的表单:

请参阅“组件”上的“锚定”属性:


@richard:我对此没有异议。。。所以我真的不明白你在说什么…@RageZ:看来你的问题在这种情况下已经解决了,但我留下了我的答案,因为我在Ext JS中多次看到布局的神奇之处,当时我创建了一个控件,并在布局父项中引用它,而不是在那里声明它。对你来说不是正确的答案,但可能是对其他人来说,他们遇到了与锚定/宽度无关的类似问题。
var fp = new Ext.form.FormPanel({
           items: [f_1, f_2]
           ,defaults: {
               anchor: '95%' 
           }
        });