Ext.Components的isVisible()和isHidden()方法有什么区别?

时间:2019-04-09 15:12:30

标签: extjs

在ExtJS文档https://docs.sencha.com/extjs/6.5.3/classic/Ext.Component.html中, 两种方法都没有明确说明

1 个答案:

答案 0 :(得分:0)

要回答此问题,您需要分析源代码。这是方法isHidden

...
isHidden: function() {
    return this.hidden;
},
...

这是方法isVisible

...
isVisible: function(deep) {
    var me = this,
        hidden;

    if (me.hidden || !me.rendered || me.destroyed) {
        hidden = true;
    } else if (deep) {
        hidden = me.isHierarchicallyHidden();
    }

    return !hidden;
},
...

hidden之外,isVisible检查此组件是否已经渲染,是否正在销毁中。 同样,当isVisible用参数deep调用时,它可以检查元素是否显示在例如折叠面板中。