Javascript 如何在呈现Ext Js组件后更改其配置属性

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: {

有些情况下,我必须在渲染后更改ExtJS组件的一些配置属性。在Api文档中,我没有看到大多数配置的getter/setter。有没有办法更改配置,然后重新渲染组件或更新布局

在以下代码中,在呈现Ext.form.FieldSet后,我需要将可折叠属性动态更改为true或false:

 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')
。使用的字段集变量已经包含组件对象。请参阅我的代码的最后一行。try
Ext.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();