Extjs Ext Js:隐藏容器中的所有元素或项目

Extjs Ext Js:隐藏容器中的所有元素或项目,extjs,Extjs,我有多个带字段的容器。基本上,当容器被隐藏时,所有字段都不可见。但我检查了隐藏属性或isHidden字段方法。我越来越假了。 我想让它在容器隐藏时为真,在容器可见时为假。 如何使用覆盖来隐藏和显示字段您的问题很难理解。英语很差,但如果我理解正确,您会隐藏一个包含字段的容器。如果随后检查其中一个字段的isHidden,则返回false。这是标准的行为。容器是隐藏的,而不是字段。您可以做的是向下查询并将字段设置为隐藏 例如 你问: 我不想创建自定义组件。我可以通过使用覆盖来做同样的事情吗 是的,你可

我有多个带字段的容器。基本上,当容器被隐藏时,所有字段都不可见。但我检查了隐藏属性或isHidden字段方法。我越来越假了。 我想让它在容器隐藏时为真,在容器可见时为假。
如何使用覆盖来隐藏和显示字段您的问题很难理解。英语很差,但如果我理解正确,您会隐藏一个包含字段的容器。如果随后检查其中一个字段的isHidden,则返回false。这是标准的行为。容器是隐藏的,而不是字段。您可以做的是向下查询并将字段设置为隐藏

例如

你问: 我不想创建自定义组件。我可以通过使用覆盖来做同样的事情吗

是的,你可以

我希望您没有将Ext.Container作为类型它有点脏,覆盖了所有容器,但它会工作…=>最好用特定类型的容器替换Ext.Container

Ext.define('YourApp.override.Container', {
    override: 'Ext.Container',
    hide: function () {
        var me = this;
        Ext.each(me.query('field'), function (field) {
            field.hide();
        });
        me.callParent(arguments);
    },
    show: function () {
        var me = this;
        Ext.each(me.query('field'), function (field) {
            field.show();
        });
        me.callParent(arguments);
    }
});

我不想创建自定义组件。我可以通过使用覆盖来做同样的事情吗?
Ext.define('YourApp.override.Container', {
    override: 'Ext.Container',
    hide: function () {
        var me = this;
        Ext.each(me.query('field'), function (field) {
            field.hide();
        });
        me.callParent(arguments);
    },
    show: function () {
        var me = this;
        Ext.each(me.query('field'), function (field) {
            field.show();
        });
        me.callParent(arguments);
    }
});