Javascript 如何在呈现Ext Js组件后更改其配置属性
有些情况下,我必须在渲染后更改ExtJS组件的一些配置属性。在Api文档中,我没有看到大多数配置的getter/setter。有没有办法更改配置,然后重新渲染组件或更新布局 在以下代码中,在呈现Ext.form.FieldSet后,我需要将可折叠属性动态更改为true或false:Javascript 如何在呈现Ext Js组件后更改其配置属性,javascript,extjs,Javascript,Extjs,有些情况下,我必须在渲染后更改ExtJS组件的一些配置属性。在Api文档中,我没有看到大多数配置的getter/setter。有没有办法更改配置,然后重新渲染组件或更新布局 在以下代码中,在呈现Ext.form.FieldSet后,我需要将可折叠属性动态更改为true或false: var container = Ext.create("Ext.container.Container", { renderTo: Ext.getBody(), layout: {
var container = Ext.create("Ext.container.Container", {
renderTo: Ext.getBody(),
layout: {
type: "vbox"
}
});
var fieldset = Ext.create("Ext.form.FieldSet", {
renderTo: "fieldset"
});
var text = Ext.create("Ext.form.field.Text", {
renderTo: "text"
});
var button = Ext.create("Ext.Button", {
renderTo: "button",
text: "My Button"
});
fieldset.add(text);
fieldset.add(button);
container.add(fieldset);
此外,以下代码不会更新布局:
Ext.apply(fieldset,{collapsible:true,style:"bakground:red"});
有一些方法,您可以在字段集上调用这些方法来折叠或扩展字段集
你可以试试这个。为所需的字段集(id:'anyId')
设置一个id属性,并使用Ext.apply(Ext.getCmp('anyId'),{your config object})代码>
Ext.applay
你可以看到这个
您还可以了解Ext.apply
和简单的javascript参数添加之间的区别
即使在配置中将“可折叠”属性设置为false,它是否仍有效?此外,我的问题并不是针对可折叠财产的。我需要一种在呈现配置属性之后设置配置属性的通用方法;在之后也尝试了doLayout和updateLayout,但没有任何影响。您应该向字段集添加id
属性,并在Ext.applay
函数中调用Ext.getCmp('yourID')
。使用的字段集变量已经包含组件对象。请参阅我的代码的最后一行。tryExt.getCmp('anyId')。collapsable=true
。这是我的最后一个建议,我没有任何其他可能的解决方案很好的尝试,但如果我多次单击“添加折叠”按钮,它会继续向容器添加折叠按钮。
fld.titleCmp.el.on({
'click': fld.toggle,
scope: fld
});
fld.titleCmp.el.addCls(me.baseCls + '-header-text-collapsible');
fld.legend.items.add(fld.createToggleCmp());
fld.legend.updateLayout();