ExtJS 3.动态附加配置

发布于 2024-12-04 03:23:51 字数 211 浏览 2 评论 0原文

有没有什么方法可以将一些配置(对象属性)附加到创建的 extobject。

var thePanel = new Ext.Panel({
   border: false
});

thePanel.addpendConfigs({               //How to?
   height: 40,
   region: "north"
});

Is there any way to apend some configs (object properties) to created extobject.

var thePanel = new Ext.Panel({
   border: false
});

thePanel.addpendConfigs({               //How to?
   height: 40,
   region: "north"
});

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

山川志 2024-12-11 03:23:51

我从设置北部区域猜测您不想将面板添加到具有边框布局的容器中...我相信您可以执行类似

thePanel.setHeight(40);
thePanel.region = 'north';

container.add(thePanel);
container.doLayout();

dolayout 方法的操作,应该强制重新计算所有组件上的布局...

编辑:

对于通用解决方案,请检查 Ext.apply

var config = {
   height: 40,
   region: "north"
}

Ext.apply(thePanel,config);

但我认为您仍然需要像上面那样强制重新计算布局

i'm guessing from setting the region north that you wan't to add the panel to a container with border layout ... I believe you can do something like

thePanel.setHeight(40);
thePanel.region = 'north';

container.add(thePanel);
container.doLayout();

dolayout method should force the recalculation of the layout on all the components ...

Edit:

For the universal solution check Ext.apply

var config = {
   height: 40,
   region: "north"
}

Ext.apply(thePanel,config);

But i think you still need to force the layout recalculation like above

一个人的旅程 2024-12-11 03:23:51

使用Ext.applyIf
来自 文档

将 config 的所有属性复制到 obj(如果尚未复制)
存在。

定义如下:

applyIf( Object obj, Object config ) : Object

否则使用 E​​xt.apply

将 config 的所有属性复制到 obj。

定义:

apply( Object obj, Object config, Object defaults ) : Object

Use the Ext.applyIf.
From the docs

Copies all the properties of config to obj if they don't already
exist.

Here's the definition:

applyIf( Object obj, Object config ) : Object

Otherwise use the Ext.apply

Copies all the properties of config to obj.

Definition:

apply( Object obj, Object config, Object defaults ) : Object
权谋诡计 2024-12-11 03:23:51

据我所知,一旦对象被实例化,您就不能简单地向其中添加新的配置选项。它冒泡太多(例如,假设您想覆盖“items”数组,这会影响您的实际对象)。

一般来说,ExtJs 有一种方法可以做你想做的事情。

As far as I know, once the object has been instantiated, you cannot simply whack new config options into it. It bubbles too much ( eg, say for example you want to overwrite the "items" array, this affects quite a bit of your actual object ).

Generally ExtJs has a method to do what you want to do however.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文