【问题标题】:How to hide panel in Extjs?如何在 Extjs 中隐藏面板?
【发布时间】:2017-10-18 06:23:46
【问题描述】:

美好的一天。

我有代码:

{
    xtype: 'panel',
    title: 'test panel',
    html:'test,
    visible: false// did not work
}

如何防止没有监听器和控制器的显示面板?

【问题讨论】:

    标签: extjs panel show-hide


    【解决方案1】:

    改用属性hidden

    {
        xtype: 'panel',
        title: 'test panel',
        html:'test',
        hidden: true // <<== Should works
    }
    

    【讨论】:

    • 确实如此,但也许你知道 ConfigPart 是如何隐藏的?
    • @DmitriyZlobenets 你说的 ConfigPart 是什么意思?
    • @DmitriyZlobenets 我不明白你的问题。如果我在您的示例中取消注释隐藏的属性,它会起作用!
    • 是的,它仅适用于内部面板,但如果我们将 hidden:true 添加到父配置,则标题为“隐藏面板”的外部面板不会隐藏事件。感谢您的帮助!
    【解决方案2】:

    hidden 配置通常不适用于零件的视图,只有 Sencha 知道原因。

    但是,如果您愿意,可以在部件的 createView 方法中使用一行代码来实现。以你的小提琴为例:

    Ext.define('GAINS.parts.ConfigPart', {
        extend: 'Ext.dashboard.Part',
        alias: 'part.config-part',
        config: {
            hidden: false,
            viewTemplate: {
                layout: 'fit',
                mergin: 9
            }
    
        },
        createView: function (config) {
            var view = this.callParent(arguments);
            view.items = config.configPartItems;
            if(config.hidden) view.hidden = true; // apply the  "hidden" config to the view.
            return view;
        }
    });
    

    【讨论】:

    • 我已将之前的答案标记为正确,但您的解决方案有效!谢谢你,兄弟。我没有投票给你的答案。我稍后会投票。
    猜你喜欢
    • 2012-06-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-08-10
    • 1970-01-01
    • 2012-05-30
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多